我想在文本字段中显示SqlDataReader
的第一行(它是数据库返回的唯一行/列)。我认为这是正确的语法,但我得到'没有数据'错误。我可以确保使用的sql查询肯定会返回一个答案,我已在SQL Server中检查过它。
SqlCommand sqlCommand = new SqlCommand(sqlQuery, sqlConnection);
sqlConnection.Open();
SqlDataReader reader = sqlCommand.ExecuteReader();
Label1.Text = reader[0].ToString();
reader[0]
似乎没有显示任何内容。
答案 0 :(得分:4)
如果我没记错,你需要实际读取数据:
reader.Read()
您可以迭代或仅使用第一个值。
答案 1 :(得分:2)
您需要致电read()
以移至行。它通常用作
while(reader.read())
{
// do something
}
在你的情况下,在分配给标签之前加上reader.read()
。
* 还要记住要关闭它 - 所以在using
块中使用它。 *
答案 2 :(得分:0)
请阅读DataReader的文档。索引器根据序数/列号提供值。由于你还没有开始(或正在)通过阅读器,它将是空的。