結果セット
テーブルスキーマに対して実行できるクエリの結果と同じカラム情報にアクセスできます。返されるカラムについては、カラム を参照してください。
結果セットメタデータの取得
OracleOciDataReader のGetSchemaTable メソッドを使用して、結果セットのメタデータを取得できます。GetSchemaTable は、ExecuteReader を呼び出してから呼び出します。
DataTable の各行は、クエリの結果のカラムを説明します。
C#
string connectionString = "User=scott;Password=tiger;Server=127.0.0.1;Port=1521;";
using (OracleOciConnection conn = new OracleOciConnection(connectionString)) {
OracleOciCommand cmd = new OracleOciCommand("SELECT * FROM \"CData\".\"SYSTEM\".Customers WHERE Country = 'US'", conn);
OracleOciDataReader rdr = cmd.ExecuteReader();
DataTable schemaTable = rdr.GetSchemaTable();
foreach (DataRow row in schemaTable.Rows) {
foreach (DataColumn col in schemaTable.Columns) {
Console.WriteLine("{0}: {1}", col.ColumnName, row[col]);
}
}
}
VB.NET
Dim connectionString As String = "User=scott;Password=tiger;Server=127.0.0.1;Port=1521;"
Using conn As New OracleOciConnection(connectionString)
Dim cmd As New OracleOciCommand("SELECT * FROM \"CData\".\"SYSTEM\".Customers WHERE Country = 'US'", conn)
Dim rdr As OracleOciDataReader = cmd.ExecuteReader()
Dim schemaTable As DataTable = rdr.GetSchemaTable()
For Each row As DataRow In schemaTable.Rows
For Each col As DataColumn In schemaTable.Columns
Console.WriteLine("{0}: {1}", col.ColumnName, row(col))
Next
Next
End Using