C# PostgreSQLに接続してselectするサンプル

C#のPostgreSQLに接続してselectするサンプルです。
(確認環境:Visual Studio Community 2019,PostgreSQL13)

目次

サンプル Npgsqlを取得する
使用するテーブル
接続してselectを実行する

Npgsqlを取得する

Npgsqlは、.NETからPostgreSQLに接続するライブラリです。

https://www.npgsql.org/

1.Visual Studioの「ツール」→「NuGetパッケージマネージャー」→「ソリューションのNuGetパッケージの管理」をクリックします。

 

2.「参照」タブをクリックし検索入力欄に「Npgsql」と入力します。
表示されたNpgsqlをクリックし、プロジェクトのチェックを入れ、インストールボタンを押します。

 

3.画面下に状況の文言が表示されます。しばらく待ちます。
変更のプレビューが表示されるのでOKを押します。

 

4.Npgsqlのインストールが完了すると参照配下にNpgsqlが追加されます。

 

使用するテーブル

以下は、今回使用するPostgreSQLのテーブルです。テーブル名は「employee」です。

id name romaji
1 鈴木 suzuki
2 田中 tanaka
3 佐藤 sato

 

接続してselectを実行する

PostgreSQLに接続してselectを実行するサンプルです。

using System;
using Npgsql;

class Test1
{
	static void Main()
	{
		string sql = "SELECT id,name,romaji FROM public.employee";
		string ConnectionString =
			"Server=127.0.0.1;"
			+ "Port=5432;"
			+ "Database=testdb1;"
			+ "User ID=postgres;"
			+ "Password=postgres;";
		try
		{
			using (var conn = new NpgsqlConnection(ConnectionString))
			{
				conn.Open();
				using (var cmd = new NpgsqlCommand(sql, conn))
				{
					using (var reader = cmd.ExecuteReader())
					{
						while (reader.Read())
						{
							Console.WriteLine(reader["id"] + ":"
											+ reader["name"] + ":"
											+ reader["romaji"]);
						}
					}
				}
			}
		}
		catch (Exception ex)
		{
			Console.WriteLine(ex.Message.ToString());
		}
	}
}

2行目は、Npgsqlを指定しています。
8行目は、select文です。
17,20,22行目は、usingステートメントです。
配下のブロックの処理が終了したときにリソースを解放するDispose()が呼ばれます。
10行目は、接続情報です。サーバーIPアドレス、ポート、データベース、ユーザーID,パスワードを指定します。
22行目は、ExecuteReaderメソッドでSQL文を実行しています。
26~28行目は、テーブルから取得した値を出力しています。

実行結果

以下のように表示されます。

1:鈴木:suzuki
2:田中:tanaka
3:佐藤:sato

関連の記事

PostgreSQL DDL文でtable,view等を作成する

△上に戻る