2009-07-07 15 views
5

私は低レベルのアルゴリズムプログラマーであり、データベースは本当に私のものではありません。だから、これが存在するならば、これはn00bの質問になるでしょう。System.Data.DataTableオブジェクトから特定の値を取得するにはどうすればよいですか?

開発チームのDAOを通じて簡単なSELECTクエリを実行しています。 DAOは、クエリの結果を含むSystem.Data.DataTableオブジェクトを返します。これはこれまでのところすべて正常に動作しています。

私が今実行した問題:
結果のDataTableの最初の行のフィールドの1つから値を引き出す必要があります。どこから開始するのかわかりません。マイクロソフトではこれについて非常に混乱しています! Arrrg!

アドバイスをいただければ幸いです。ここではコンテキストが不要だと思うので、私はコードサンプルを提供していません。私は、すべてのDataTableオブジェクトがクエリの実行方法にかかわらず同じ方法で動作すると仮定しています。したがって、追加の情報があれば、これは誰にとってももっと混乱させることになります。

答えて

7

ちょうど基本....

NDXは、行番号(0から始まる)列がのDataColumnオブジェクト、インデックス(列n)、または名前を指定でき ある
yourDataTable.Rows[ndx][column] 

カラム(列)

yourDataTable.Rows[0][0] 
yourDataTable.Rows[0][ColumObject] 
yourDataTable.Rows[0]["ColumnName"] 

DBNull.Valueのに比較し、ヌルをテストします。

+1

ありがとうございます!これは完璧です。 – Giffyguy

1

table.Rows[0]["MyColumnName"]のような意味ですか?

0

ID = 5の行(つまりプライマリキー)を抽出する必要がない場合は、Descriptionという列の値を取得します。

DataRow dr = myDataTable.Rows.Find(5); 
String s = dr["Description"].ToString();