c# - 无法识别 mysql 请求中的问题

标签 c# mysql

我有两个函数,一个运行良好,另一个运行不正常,除了非运行代码在数据库请求中有一个 WHERE 之外,代码是相同的,我只是无法让它运行,我很绝望。 cID 是提供给函数的字符串,这是目前唯一正确的字符串

Geotag c = new Geotag();
String myConnection = WebConfigurationManager.ConnectionStrings["mydatabase"].ConnectionString;
MySqlConnection myConn = new MySqlConnection(myConnection);
String strSQL = "SELECT Id,geotag,item,date,nameofplace FROM geolist WHERE Id = 'cID';";
MySqlCommand myCommand = new MySqlCommand();
myCommand.Connection = myConn;
myCommand.CommandText = strSQL;
try
{
    myConn.Open();
    MySqlDataReader myReader;
    myReader = myCommand.ExecuteReader();
    myReader.Read();

    while (myReader.Read())
    {        

我的阅读器是空的,所以它会跳过并继续……为什么?我尝试了我认为的一切,比如 cID 字符串周围没有 ' '。

如果我删除 WHERE = cID,我将直接返回一个对象,它是列表中的第一个对象,所以我知道代码有效。数据库具有匹配的字符串,即使我将字符串硬编码到 WHERE 中,它仍然无法工作,所以它是我在这里遗漏的其他东西。

最佳答案

你正在比较一个 Id 字段,所以你可能会返回一条记录,但是你调用了 Read 方法两次

myReader.Read();

while (myReader.Read()) // <--- empty

关于c# - 无法识别 mysql 请求中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20361208/

相关文章:

C# openxml去除段落

c# - jsonresult 不回来?

C# 我的 datagridview 列显示错误的年份

mysql - 导出时出错: Mixed update/insert is not supported against the target database yet

MySQL 从头开始​​选择直到 row = string

c# - 需要一个允许重复键的数据结构

c# - 如何在 Unity 中按下一个键时增加计数器?

PHP 每页显示 x 个结果的最佳方法

mysql - mysql中in语句内计数

php - 根据匹配字段,使用另一个数据库中的数据更新 MySQL 数据库表