【C#&PostgreSQL接続】Database-controlクラス作成で管理容易

C#.NET

【C#&PostgreSQL接続】Database-controlクラスを作成したので管理が容易になった

DB-PostgreSQL

C#.NETFramework開発でPostgreSQLを使用したい方向けにDB制御クラスを作成したので、ご紹介します。

今回は、.NET Framework4.8で開発しています。4.xでも使用できると思います。

PostgreSQLインストール

インストールする場合は、

PostgreSQL」からダウンロードして下さい。今回はPostgreSQL13を使用します。

GUI管理したい場合は、標準でインストールされる「PgAdmin4」を使用して下さい。他にもDBViewerは検索すれば有りますのでお好きなものを使用すればいいと思います。

PostgreSQL-テーブル作成

テーブルを作成しておきます。

今回は、DB名「test」をcreate databaseしておきました。

テーブル内容は下記の通りです。

create table SAMPLE (
id integer,
name varchar(10),
remarks varchar(10)
);

C#-Form画面設計

Form画面を作成します。

プロジェクトを作成したら、画面にDatagridviewとボタン3つとlabelを配置します。

postgres_screen_prod

C#-Nugetパッケージ管理

C#でPostgreSQLを使用したい場合、dllパッケージをインストールしておきます。

Nugetパッケージ管理を開いて、参照タブから「Npgsql」と検索します。

postgresql_nuget_packagesjpg npgsql_packages

Npgsqlをインストールします。

C#-DBcontrolクラス作成

では、要であるDB制御クラスを作成していきます。

新しい項目をクリックしてクラスを選択、クラス名は任意です。今回は、「Dbctl.cs」として作成しました。

npgsql_class_new_create postgresql_class_name_add

下記がクラス内容です。

using Npgsql;を参照追加してあります。

  • NpgsqlConnection   -接続
  • NpgsqlCommand    -クエリ実行
  • NpgsqlDataAdapter  -データ取得格納 (データ一括取得的な感じ)
  • NpgsqlDataReader  -データ取得

この辺が主に使われるものです。

Formメイン処理

では、画面起動時処理やボタンクリックイベントを作成していきます。

Select_Viewボタンで、データグリッドビューにテーブル内容を表示させます。

Insertボタンでデータ挿入します。

Select_Countでテーブルのデータ件数を取得します。

結果

プログラム実行して、Select_Countボタンを押下すると、

postgresql_before_seen

3件のデータを入れておきましたので、3件データ表示されます。

Insertボタンを押下すると、

postgresql_after_seen

ソースコードを見ればわかると通り、2つのIsert文を実行しているのでidが4~7のレコードが挿入されました。

select_countボタンを押下して7件と取得できました。

その他

基本的な事ができたので、あとは、SQL文を修正していってデータ処理をしていけば、いいだけです。

Dbctlクラスを作成したおかげで、メイン処理コードがスッキリして読みやすくなったと思っています。

自分で試行錯誤していって下さい。

他のデータベースでも同様なことができます。

SQLite

【C#からSQLite接続】Database接続のクラスを作成したので管理が容易になった

Oracle

【C#&OracleDB接続】Database接続クラス作成して管理が容易で開発効率UP