DataRowオブジェクト

 DataTableクラスにはRowsコレクションがあります。このコレクションにはDataTableオブジェクトの行ごとのオブジェクトがセットされています。このコレクションを通して行情報を参照したり設定したりすることができます。

■ 主なプロパティ

プロパティ名 概要
Item[Int32] インデックスで指定した列に格納されているデータを取得・設定する
Item[String] 列名で指定した列に格納されているデータを取得・設定する
ItemArray 配列を使用してこの行のすべての値を取得・設定する
Table 行が属するDataTableオブジェクトを取得する
DataRowの主なプロパティ

■ 主なメソッド

メソッド名 概要
Delete() DataRowオブジェクトを削除する
IsNull(Int32) インデックスで指定した列にnull値が格納されているかどうかを示す値を取得・設定する
IsNull(String) 列名で指定した列にnull値が格納されているかどうかを示す値を取得・設定する
DataRowの主なメソッド

○ プロジェクト

 プロジェクトを作成して確認してみましょう。

プロジェクトの種類 コンソール アプリケーション
プロジェクト名 DataRowTest

サンプルダウンロード

○ 作成の準備

 「DataColumnTest」プロジェクトを修正して作成しましょう。DataColumnTestフォルダーをコピーして、作成するプロジェクト名にフォルダー名を変更してください。

○ プログラム

 Mainメソッドを次のように修正してください。

Program.cs

  1. static void Main(string[] args)
  2. {
  3.  //接続文字列
  4.  string constr = @"Data Source=(LocalDB)¥v11.0;AttachDbFilename=C:¥Work¥Books.mdf;Integrated Security=True;Connect Timeout=30";
  5.  //SqlConnectionオブジェクトを生成
  6.  SqlConnection con = new SqlConnection(constr);
  7.  //Usersテーブルのデータを取得するSQL文を作成
  8.  string sql = "SELECT * FROM Users;";
  9.  //DataAdapterオブジェクトを生成
  10.  SqlDataAdapter da = new SqlDataAdapter(sql, con);
  11.  //DataTableオブジェクトを生成
  12.  DataTable dt = new DataTable();
  13.  //DataTableとデータベースに同期させる
  14.  da.Fill(dt);
  15.  //データテーブルの行情報を表示する
  16.  Console.WriteLine("データテーブルに登録されている氏名一覧");
  17.  foreach (DataRow dr in dt.Rows)
  18.  {
  19.   Console.WriteLine(dr["name"]);
  20.  }
  21.  Console.ReadLine();
  22. }

○ 実行結果

データテーブルに登録されている氏名一覧
佐藤
鈴木
高橋
田中

○ 解説

 35~38行目では、DataTableオブジェクトのRowsコレクションをループ処理しています。ループするごとにひ一つずつDataRowオブジェクトをとりだし、変数drに格納します。37行目でDataRowオブジェクトの氏名列を指定して設定されているデータを表示しています。

前へ   次へ