C#乱码解决

2016-09-09 mofei

 这两天在做一日志监控系统,用的是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());
}

作者“我的地盘”