c# - MySQL数据读取器不读取

标签 c# mysql

我试图从数据库中获取我的数据并显示在消息框中,但它不起作用。我试图在我的 while 循环中放置一个虚拟消息框,但似乎代码也没有进入它。有什么方法可以做到这一点吗?

这是我的代码:

 ConnectToDatabase();

 MySqlCommand cmd = new MySqlCommand("Select Name, LPN From visitors Where password = '@password';", conn);
 cmd.Parameters.AddWithValue("@password", decodeStr);

 MySqlDataReader reader = cmd.ExecuteReader();

 while (reader.Read())
 {
     MessageBox.Show("he");

     name = reader["Name"].ToString();
     lpn = reader["LPN"].ToString();
 }

最佳答案

您需要删除 '@password' 部分中的单引号。使用单引号,数据库管理器认为这是一个 string literal ,不是参数。

这就是为什么您的阅读器没有任何数据的原因,因为您的密码列可能没有任何字符串作为@password

还有一些事情;

关于c# - MySQL数据读取器不读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32050251/

相关文章:

c# - 线栅格化 : Cover all pixels, 与线渐变无关?

c# - 需要在c#中获取字符串中 "word"之后的字符串

php - 选择开始日期和结束日期后,对 sql 中的所有行求和

php - 数据库未捕获PHP文件中的任何内容

mysql - 在 Icecast Server 2 上设置用户名和密码

c# - 计算相对文件路径

c# - 带有 IIS Express 的 VS2017 未显示最新代码更改

c# - 如何在应用程序启动之间保留对象列表

php - 遍历日期并获取两个日期之间的最小日差

mysql - SQL 查询 - 将值添加到多个唯一 ID 中