0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C# デスクトップアプリ開発 PostgreSQL接続方法

Last updated at Posted at 2025-01-05

まずDB接続のC#プログラム構造

C#は
名前空間という概念
クラスという概念があって、クラスの中にメソッドを書いたり、変数を作ったりだとかで、VBAと考え方が違ってくるところがあって面白い。

DB接続関係の処理はDB接続関係の名前空間

を作って、DBクラスを作り、その中に変数、メソッドを作っていくことにしました。

名前空間とは

C#はライブラリが多いので、ライブラリ同士でメソッド名が被っても良いように名前空間という概念が存在します。
例えば、
Databaseのupdate というメソッドと、Listのupdateというメソッドがあるとすると、どちらともupdateというメソッドを使っていてどちらのメソッドを参照していいか機械がわからない。

C#はDatabase,Listを名前空間にして、
Database.update
List.update という記述のさせ方をすることによって、メソッド名を競合することを考えずに簡単に命名できるようになっている。

クラスについての概念説明はスキップします。

ポスグレSQL接続に必要なライブラリインストール

これ。

image.png

Database関連のクラス作ってみた。

赤いカッコでかこったのがDatabaseManagerというクラスです。
青いカッコ一番上は、public DatabaseManagerというのがDatabaseManagerクラスをnewしたとき(インスタンスを作成したとき)実行されるものです。
変数connectionStringにDB接続パラメータを入れています。

その下にある青いカッコたちはメソッドです。
どのメソッドも、クラスをnewして、DatabaseManager.ExecuteQueryなどで実行することが可能です。

image.png

PostgreSQL側の設定

pg_hba.conf の編集
C:\Program Files\PostgreSQL\17\data\pg_hba.conf

# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256

127.0.0.1/32はローカルマシンにポスグレSQLインストールしたのでローカルIPアドレスを指定。

学習まとめ

DB関係はDBクラスにまとめる を実践してみました。
クラスを作ってみたけど何をクラスにすればいいのか発想できるようにならなければ、今後のプログラム開発で大変な思いをしそうだなと感じた。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?