C# 使用MySQL 执行SELECT语句时没有数据,但是语句拷贝到NaviCat执行可以查出来,什么原因。

C# 使用MySQL 执行SELECT语句时没有数据,但是语句拷贝到NaviCat执行可以查出来,什么原因。

语句为:

SELECT * FROM TABLE1 WHERE NAME = "小红"
C#选不出来但是进NAVIcat里面执行是有的

有些值能选出来有些值就选出来,

试试看 小红 换成英文是不是就可以,如果是,那么是编码问题。

试下 SELECT * FROM TABLE1 能不能出数据,不能出数据就是连接问题,能出数据就是编码问题

看看条件“小红”在程序中是不是有空格

可能是C的赋值有问题,检查下变量有没有初始化,或者换一种赋值方式,重启一下服务看看

如果数据库文件是你自己创建的,你要查看下路径,路径不对然后你自己新建一个库,里面没你的数据也正常

设置一下编码再查询
...
conn.Open();
MySqlCommand cmd2 = new MySqlCommand("set names utf8", conn);
cmd2.ExecuteNonQuery();
...
MySqlCommand cmd = new MySqlCommand("SELECT * FROM TABLE1 WHERE NAME = '小红'", conn);
...