DataTableのすべての行/列を表示するサンプル

DataTableのすべての行/列を表示するサンプル

 

このサンプルは、得意先テーブルをDataTableに取り込んですべての行(レコード)と列(カラム)を表示します。

 

このサンプルでは、以下のノウハウを習得することができます。

 

  OleDbDataAdapterFill()メソッドで得意先テーブルをDataTableに取り込む方法

  DataTableのすべての行と列を表示する方法

 

サンプルのPage_Load()イベントでは、得意先テーブルのすべての行と列を表示します。行8では、得意先テーブルから先頭レコードを抽出するSQLを生成しています。行9-12では、OleDbConnectionOleDbDataAdapterDataTableのインスタンスを生成しています。

 

16では、OleDbDataAdapterFill()メソッドで得意先テーブルをDataTableに取り込んでいます。行17では、DataTableTableNameプロパティに格納されているテーブル名を表示しています。行19-25For Each…Nextでは、DataTableRowsコレクションからDataRowを取得しています。行20-23For Each…Nextでは、DataTableColumnsコレクションからDataColumnを取得しています。行21-22ResponseWrite()メソッドでは、カラム名とカラム値を表示しています。カラム名は、DataColumnColumnNameプロパティに格納されています。カラム値は、DataRowの引数にDataColumnを指定して取得しています。

 

  7: Sub Page_Load()
  8:   Dim strSQL As String = "Select top 1 * From Customers"
  9:   Dim con As New OleDbConnection( _
 10:     ConfigurationSettings.AppSettings("conStringNw"))
 11:   Dim da As New OleDbDataAdapter(strSQL, con)
 12:   Dim dt As New DataTable("Customers")
 13:   Dim dr As DataRow
 14:   Dim dc As DataColumn
 15:
 16:   da.Fill(dt)
 17:   Response.Write("<h2>" & dt.TableName & "</h2>")
 18:   Response.Write("<table>")
 19:   For Each dr In dt.Rows
 20:     For Each dc In dt.Columns
 21:       Response.Write(String.Format("<tr><th>{0}</th><td>{1}</td>", _
 22:         dc.ColumnName, dr(dc)))
 23:     Next
 24:     Response.Write("<tr><th><hr></th><td><hr></td></tr>")
 25:   Next
 26:   Response.Write("</table>")
 27: End Sub