2011-12-11 9 views
4

Visual StudioでDataReader内の値を表示する方法はありますか?私はデバッグ時にウォッチウィンドウを参照しています。たとえば、IDと名前の2つのフィールドがデータレア内にある場合、値を表示する方法はありますか? DataReaderの上にカーソルを置くと、そのオブジェクトがどのタイプのオブジェクトであるかがわかります。つまり、データエリアです。ASP.NET DataReaderの値

答えて

1

ウォッチウィンドウの値を表示するには、reader["ID"]reader["Name"]を入力します。 >>クイックウォッチを読者に>表示を結果[0]、1は... [すべてのインデックスを展開する]:

が列を表示するには:

+0

これを試してみると、idをSQLDataReaderに変換できません。 – w0051977

+0

Try ... reader.GetValue( "ID") – Nitesh

+0

ウォッチウィンドウで値を表示しようとしています。したがって、コードを記述しません。ありがとう。 – w0051977

3

あなたは以下のようにreaderに列とデータの両方を表示することができます非公開メンバー> _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"]); 
    } 
} 
カラム情報を表示 ColumnView

データビューの列 DataView

の更新のために

ありがとう

+0

DataReaderの下に結果ビューがありません。そこには、深さ、フィールドカウント、ハロー、閉鎖された、レコードに影響を受けたフィールドカウントがあります。 – w0051977

+0

どの.NET Frameworkバージョンを使用していますか、私は4.0を使用しています。これまでのところ3.0から利用可能です。お時間をいただきありがとうございます。 –

+0

私は、(より多くのコードをqriteする必要なしに)ウォッチウィンドウを使用してdatareader内の値を表示しようとしています。私はバージョン3.5を使用しています。ありがとう。 – w0051977

3

DataReaderの性質上、実際のデータは格納されません。データベースへの「ポインタ」のようなものは格納されません。

リーダーがデータで満たされるようにするには、そのRead()メソッドを呼び出す必要があります - trueを返し、利用可能な場合、これは、次のレコードの値を持つオブジェクトを移入しますそれ以外の場合はfalseを返し、データはなりません利用可能です。あなたが動的にそのRead()メソッドを実行することができるはずのVisual Studioのウォッチウィンドウで

- ちょうどreader.Read()を入力し、その結果を参照してください - 現在の値がちょうどウォッチウィンドウでreader[0]reader[1]を読み書きします。

いずれにせよ、これはツールチップからのみ可能ではなく、特別ウォッチウィンドウでのみ可能です。

関連する問題