我一直得到这个异常:
不存在该行/列的数据。
然而,选择中的信息是正确的。我不知道为什么这一直失败。
string SQL = "SELECT htmlCodeBlock FROM HTML WHERE htmlID = 1";
command.CommandText = SQL;
command.Connection = conn;
reader = command.ExecuteReader();
codeBlock = reader["htmlCodeBlock"].ToString();
reader.Close();
在尝试从DataReader读取数据之前,似乎不会调用它上的Read()
。
使用DataReader 检索数据
您阅读过关于使用数据读取器的内容吗?看来不会。在实际读取一行的数据之前,必须调用Read
。您调用Read
一次即可到达第一行。您第二次调用Read
以到达第二行。等等
此外,如果您的意图是检索单个值,那么您可能应该调用ExecuteScalar
,它实际上返回一个值。只需注意,如果没有要检索的值,它将返回null
(而不是DBNull.Value
)。