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