ADO.NET DataSetのホームへ戻る

  DataTableの列情報を表示するサンプル

DataTableの列情報を表示するサンプル

 

このサンプルは、得意先テーブルのスキーマをDataTableに取り込んでカラム名、データ型、空値許可の情報を表示しています。

 

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

 

  OleDbDataAdatapterFillSchema()メソッドの使い方

  DataTableの列(カラム)の各種プロパティを取得する方法

 

サンプルのPage_Load()イベントでは、得意先テーブルのスキーマをDataTableに取り込んで列のプロパティを表示します。行8では、得意先テーブルのレコードを抽出するSQLを生成しています。行9-12では、OleDbConnectionOleDbDataAdapterDataTableのインスタンスを生成しています。

 

14では、OleDbDataAdapterFillSchema()メソッドで得意先テーブルのスキーマを取得してDataTableに格納しています。行15では、DataTableTableNameプロパティに格納されているテーブル名を表示しています。行19-22For Each…Nextでは、DataTableColumnsコレクションからDataColumnを取得してColumnNameDataTypeAllowDBNullプロパティを表示しています。

 

  7: Sub Page_Load()
  8:   Dim strSQL As String = "Select * 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:
 14:   da.FillSchema(dt, SchemaType.Source)
 15:   Response.Write("<h2>" & dt.TableName & "</h2>")
 16:   Dim dc As DataColumn
 17:   Response.Write("<table border=1>")
 18:   Response.Write("<tr><th>ColumnName</th><th>DataType</th><th>AllowDBNull</th></tr>")
 19:   For Each dc In dt.Columns
 20:     Response.Write(String.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>", _
 21:      dc.ColumnName, dc.DataType, dc.AllowDBNull))
 22:   Next
 23:   Response.Write("</table>")
 24: End Sub

ADO.NET DataSetのホームへ戻る