結果セット
テーブルスキーマに対して実行できるクエリの結果と同じカラム情報にアクセスできます。返されるカラムについては、カラム を参照してください。
結果セットメタデータの取得
PostgreSQLDataReader のGetSchemaTable メソッドを使用して、結果セットのメタデータを取得できます。GetSchemaTable は、ExecuteReader を呼び出してから呼び出します。
DataTable の各行は、クエリの結果のカラムを説明します。
C#
string connectionString = "User=postgres;Password=admin;Database=postgres;Server=127.0.0.1;Port=5432";
using (PostgreSQLConnection conn = new PostgreSQLConnection(connectionString)) {
PostgreSQLCommand cmd = new PostgreSQLCommand("SELECT * FROM \"postgres\".\"schema01\".Orders WHERE ShipCountry = 'USA'", conn);
PostgreSQLDataReader 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=postgres;Password=admin;Database=postgres;Server=127.0.0.1;Port=5432"
Using conn As New PostgreSQLConnection(connectionString)
Dim cmd As New PostgreSQLCommand("SELECT * FROM \"postgres\".\"schema01\".Orders WHERE ShipCountry = 'USA'", conn)
Dim rdr As PostgreSQLDataReader = 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