【问题标题】:SqlDataReader [0] is emptySqlDataReader [0] 为空
【发布时间】:2010-11-01 12:03:39
【问题描述】:

我想在文本字段中显示SqlDataReader 的第一行(它是数据库返回的唯一行/列)。我认为这是正确的语法,但出现“无数据”错误。我可以确保正在使用的 sql 查询肯定会返回答案,我已经在 SQL Server 中检查过。

SqlCommand sqlCommand = new SqlCommand(sqlQuery, sqlConnection);
sqlConnection.Open();
SqlDataReader reader = sqlCommand.ExecuteReader();
Label1.Text = reader[0].ToString();

reader[0] 似乎没有显示任何内容。

【问题讨论】:

    标签: asp.net sql sqldatareader


    【解决方案1】:

    如果我没记错的话,你需要实际读取数据:

    reader.Read()
    

    您可以遍历或仅使用第一个值。

    【讨论】:

      【解决方案2】:

      您需要调用read() 移动到行。它通常用作

         while(reader.read())
         {
              // do something
         }
      

      在你的情况下,在分配给标签之前输入reader.read()。

      *还记得始终关闭它 - 所以在 using 块中使用它。 *

      【讨论】:

        【解决方案3】:

        请阅读 DataReader 的文档。索引器根据序号/列号提供一个值。由于您尚未开始(或正在)浏览阅读器,因此它将是空的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多