2011-12-11 75 views
4

有沒有辦法在Visual Studio中查看DataReader中的值。請注意,我在調試時指的是監視窗口。例如,如果DataReader內部有兩個字段,即ID和Name,是否有方法查看這些值?當我將鼠標懸停在DataReader上方時,它只是告訴我它是什麼類型的對象,即數據讀取器。ASP.NET DataReader值

回答

1

您可以輸入reader["ID"]reader["Name"]以查看觀察窗口中的值。

+0

當我嘗試這個它說:不能將ID轉換爲SQLDataReader。 – w0051977

+0

嘗試... reader.GetValue(「ID」) – Nitesh

+0

我正嘗試在監視窗口中查看值,因此無需編寫代碼。謝謝。 – w0051977

3

您可以在reader如下查看列和數據:

要查看列:快速手錶讀者>結果視圖> [0],1 ... [展開任何索引]>非公共成員> _schemainfo> [0],1 ... [展開任何索引],這會顯示列名和數據類型。

要查看列:快速手錶讀者>結果視圖> [0],1 ... [展開任何索引]>非公共成員> _values> [0],1 ... [展開任何索引],這會向您顯示列中的數據。

編輯:爲列 DataView

更新 列信息查看 ColumnView

數據視圖:數據也可以看到如下的方式:

if (reader.HasRows) 
{ 
    while (reader.Read()) 
    { 
     int Id = Convert.ToInt32(reader["ID"]); 
     string Name = Convert.ToString(reader["Name"]); 
    } 
} 

謝謝

+0

DataReader下沒有結果視圖。有:深度,場數,增量,關閉,記錄影響和可見場數。 – w0051977

+0

您正在使用哪種.NET Framework版本,我使用的是4.0,到目前爲止,它也可以從3.0開始使用,感謝您的時間,感謝您的時間。 –

+0

我正在嘗試使用觀察窗口查看數據讀取器內部的值(而不必qrite更多的代碼)。我正在使用3.5版本。謝謝。 – w0051977

3

由於DataReader的本質,你不能這麼做:它不存儲實際數據,只是某種指向數據庫的「指針」。

要讓充滿數據的閱讀器,你必須調用其Read()方法 - 這將使用下一個記錄的值對象,如果有則返回true否則將返回false和數據不會可用。

在Visual Studio的手錶窗口中,你應該能夠動態地執行該Read()方法 - 只要輸入reader.Read()和看到的結果 - 然後讀取當前值只寫reader[0]reader[1]手錶窗口。

無論如何,只有在特殊觀察窗口中,這些都不可能從工具提示中獲得。