作成日 2015.03.05
最終更新日 2015.03.05
概要
PostgreSQLデータベース・サーバのための、.NET データ・プロバイダNpgsqlのドキュメント(2014年7月25日・13改訂版)の和訳です。
旧版ドキュメント(外部サイト)
の和訳は存在しましたが、現行版のドキュメントのものは見つからなかったので和訳しました。
PostgreSQLとC#の両方を学ぶための資料集めの一環としての作成しています。
原文
npgsqlマニュアル(2014年7月25日・13改訂版)(外部サイト)
公式ページのドキュメントです。英語で書かれています。
NpgsqlCommand.ExecuteReader()メソッドとNpgsqlDataReaderで完全な結果セットを取得します。
Getting a full result set with NpgsqlCommand.ExecuteReader() method and NpgsqlDataReader
Npgsqlでレコードセットを返すための、いくつかの方法があります。あなたが、コマンド・テキストとしてSQL文を渡し、 メモリ効率の良いDataReaderで結果にアクセスすることを好む場合、NpgsqlCommandオブジェクトのExecuteReader()メソッドを使用します。:
using System;
using System.Data;
using Npgsql;
public static class NpgsqlUserManual
{
public static void Main(String[] args)
{
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=joe;Password=secret;Database=joedata;");
conn.Open();
NpgsqlCommand command = new NpgsqlCommand("select * from tablea", conn);
try
{
NpgsqlDataReader dr = command.ExecuteReader();
while(dr.Read())
{
for (i = 0; i < dr.FieldCount; i++)
{
Console.Write("{0} \t", dr[i]);
}
Console.WriteLine();
}
}
finally
{
conn.Close();
}
}
}
あなたが、複数のレコードセットを取り出すために、コマンドオブジェクトのコマンド・テキストで、select文を『連結する』ことができることに注意します:
"select * from tablea; select * from tableb"