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

図 DataTableの列情報を表示するサンプル
このサンプルは、得意先テーブルのスキーマをDataTableに取り込んでカラム名、データ型、空値許可の情報を表示しています。
このサンプルでは、以下のノウハウを習得することができます。
▲ OleDbDataAdatapterのFillSchema()メソッドの使い方
▲ DataTableの列(カラム)の各種プロパティを取得する方法
サンプルのPage_Load()イベントでは、得意先テーブルのスキーマをDataTableに取り込んで列のプロパティを表示します。行8では、得意先テーブルのレコードを抽出するSQLを生成しています。行9-12では、OleDbConnection、OleDbDataAdapter、DataTableのインスタンスを生成しています。
行14では、OleDbDataAdapterのFillSchema()メソッドで得意先テーブルのスキーマを取得してDataTableに格納しています。行15では、DataTableのTableNameプロパティに格納されているテーブル名を表示しています。行19-22のFor Each…Nextでは、DataTableのColumnsコレクションからDataColumnを取得してColumnName、DataType、AllowDBNullプロパティを表示しています。
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