有没有办法在Visual Studio中查看DataReader中的值。请注意,我在调试时指的是监视窗口。例如,如果datareader中有两个字段,即ID和Name,是否有办法查看值?当我将鼠标悬停在DataReader上方时,它只是告诉我它是什么类型的对象,即数据引导器。
答案 0 :(得分:3)
您可以在reader
中查看列和数据,如下所示:
要查看列:快速观看阅读器>结果视图> [0],1 ... [展开任何索引]>非公开会员> _schemainfo> [0],1 ... [展开任何索引],这将显示列名称和数据类型。
要查看列:快速观看阅读器>结果视图> [0],1 ... [展开任何索引]>非公开会员> _values> [0],1 ... [展开任何索引],这将显示列中的数据。
修改强>: 列信息视图
列的数据视图
更新:数据也可以如下所示:
if (reader.HasRows)
{
while (reader.Read())
{
int Id = Convert.ToInt32(reader["ID"]);
string Name = Convert.ToString(reader["Name"]);
}
}
由于
答案 1 :(得分:3)
由于DataReader的性质,你不能这样做:它不存储实际数据,只是存储到数据库的某种“指针”。
要让Reader填充数据,您必须调用其Read()
方法 - 这将使用下一条记录的值填充对象(如果可用),然后返回true
否则它将返回{ {1}}并且数据将无法使用。
在Visual Studio的 watch 窗口中,您应该能够动态执行false
方法 - 只需键入Read()
并查看结果 - 然后读取当前值只需在观看窗口中写下reader.Read()
和reader[0]
。
无论如何,只有在特殊的观察窗口中才能从工具提示中获得这一切。
答案 2 :(得分:1)
您可以输入reader["ID"]
和reader["Name"]
来查看观看窗口中的值。