select *
from table_user
where name = '刘德华' name字段类型为varchar(32)
我在mysql的客户端软件中执行sql语句是可以找到结果的
但是在c#里同样的sql语句填充dataset,得到的结果为空,一条数据也没有找到。
我觉得这可能是字符编码方面的原因,请问有什么办法解决?

解决方案 »

  1.   

    很大的可能是字符集上的问题。在你的C#的select * from table_user where name = '刘德华' 之前,先执行一下"set names xxx"具体你需要检查一下你的表的字符集设置,可以参考一下这个贴子。
    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    连接数据库时处理一下: 
    MySQLCommand com = new MySQLCommand("set names gb2312", conn); 
    com.ExecuteNonQuery();
      

  3.   

    搞定了 在数据库连接字符串里加上了CharSet=gb2312 
    在这个帖子里找到了灵感http://topic.csdn.net/u/20081127/20/d026d026-2b99-45e1-bbe8-df840cb59ef8.html
    感谢大家 特别是lzsh0622 不辞辛劳的回帖
    我有碰到了一个新问题 重新开一个帖子请教大家