ADO.NET Accessのホームへ戻る

OleDbDataReaderからフィールド名、データ型、ソースデータの型名を取得するサンプル

 OleDb DataReaderからフィールド名、データ型、ソースデータの型名を取得するサンプル

 

このサンプルは、得意先テーブルのフィールド名、データ型、ソースデータの型名を取得して表示します。フィールド名、データ型、ソースデータの型名を取得するには、OleDbDataReaderGetName()GetFiledType()GetDataTypeName()メソッドを使用します。

 

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

 

  SQLSelect Topオプションの使い方

  OleDbDataReaderRead()メソッドの使い方

  OleDbDataReaderからフィールド名、データ型、ソースデータの型名を取得する方法

 

サンプルのPage_Load()イベントでは、AccessNwind.mdbデータベースの得意先テーブルのフィールド名、データ型、ソースデータの型名を表示します。行7では、得意先テーブルからレコードを抽出するSQLを生成しています。行8-10では、OleDbConnectionOleDbCommandのインスタンスを生成しています。

 

13では、OldDbConnectionOpen()メソッドでAccessNwind.mdbデータベースを開いています。行14では、OleDbCommandExecuteReader()メソッドで得意先テーブルのOleDbDataReaderを生成しています。行15-22If…End Ifでは、OleDbDataReaderRead()メソッドで得意先テーブルの先頭レコードを読み込んでいます。レコードが正常に読み込まれたときは、Trueが返されます。レコードが空(EOF)のときは、Falseが返されます。

 

17-20For…Nextでは、OleDbDataReaderのすべてのフィールド(カラム)を処理しています。行18では、LabelTextプロパティに得意先テーブルのフィールド名、データ型、ソースデータの型名を設定しています。フィールド名を取得するには、OleDbDataReaderGetName()メッドを使用します。引数には、フィールドのインデックス番号を指定します。フィールドのデータ型を取得するには、GetFiledType()メソッドを使用します。ソースデータの型名を取得するには、GetDataTypeName()メソッドを使用します。

 

23では、OleDbDataReaderClose()メソッドで得意先テーブルを閉じています。行24では、OleDbConnectionClose()メソッドでAccessNwind.mdbデータベースを閉じています。

 

  6: Sub Page_Load()
  7:   Dim strSqlSelect As String = "Select * From Customers;"
  8:   Dim con As New OleDbConnection( _
  9:     ConfigurationSettings.AppSettings("conStringAccNw"))
 10:   Dim cmd As New OleDbCommand(strSqlSelect, con)
 11:   Dim i As Integer
 12:
 13:   con.Open()
 14:   Dim dr As OleDbDataReader = cmd.ExecuteReader()
 15:   If dr.Read() Then
 16:     lblMessage.Text = "<table border=1>"
 17:     For i=0 to dr.FieldCount - 1
 18:       lblMessage.Text &= String.Format("<tr><th>{0}</th><td>{1}</td><td>{2}</td></tr>", _
 19:         dr.GetName(i),dr.GetFieldType(i),dr.GetDataTypeName(i))
 20:     Next
 21:     lblMessage.Text &= "</table>"
 22:   End If
 23:   dr.Close()
 24:   con.Close()
 25: End Sub

ADO.NET Accessのホームへ戻る