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メソッドを次のように修正してください。

Module1.vb

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

○ 実行結果

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

○ 解説

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

前へ   次へ