這兩天在做一日志監控系統,用的是MySQL的數據庫,出現了不少問題,在這裡總結下,希望對大家有所幫助。
第一:數據庫中的日期字段用text,結果按日期查詢時出現不少問題,可以用date(colname)函數解決。
第二:數據庫查詢出現亂碼,都是問號顯示,在網上查詢了好多代碼,也修改了數據庫的編碼設置,字段的編碼設置,C#數據庫連接字符串的編碼設置通通都不管用,最後給Connection連接加
上編碼設置好了,示例代碼如下:
//關鍵是字符串的配置
string connstr = "Data Source=" + Config.database + ";Password=" + Config.password + ";User ID=" + Config.username + ";Location=" + Config.location + ";charset=gbk";
conn = new MySQLConnection(connstr);
conn.Open();
//關鍵代碼,在連接打開後設置連接編碼
MySQLCommand command = new MySQLCommand("SET NAMES gbk", conn);
command.ExecuteNonQuery();
//正常業務
string querySize = "select count(*) from " + Config.table + " where date(log_time)='" + time + "'";
MySQLCommand cmd = new MySQLCommand(querySize, conn);
int count = 0;
MySQLDataReader reader = cmd.ExecuteReaderEx();
if (reader.Read())
{
count = Convert.ToInt32(reader[0].ToString());
}
作者“我的地盤”