C#はじめました。postgreSQLに繋ぐ
postgreSQLをインストールしました。
適当にテーブル作りました。
ツールボックスからDataGridViewというのをFormに貼り付けました。
ここにDBから読み込んだデータを表示したいと思います。
ソース、こんなかんじ
using Npgsql; ・・・ private void btn_DBconnect_Click(object sender, EventArgs e) { try { // 接続文字列 var conStr = "Server=localhost;Port=5432;Username=postgres;Password=daradara;Database=test"; using NpgsqlConnection con = new(conStr); con.Open(); using NpgsqlCommand cmd = new(); cmd.Connection = con; for (int i = 0; i < 3; i++) { //データを作る cmd.CommandText = $"INSERT INTO syain(name, birthday) VALUES ('社員{i}', '{DateTime.Now}');"; ret = cmd.ExecuteNonQuery(); } //データを読み込む IDataAdapter dataAdapter = new NpgsqlDataAdapter("select * from syain", con); var dataSet = new DataSet(); dataAdapter.Fill(dataSet); //グリッドにデータセットをリンク this.dataGridView1.DataSource = dataSet.Tables[0]; } catch (Exception ex) { Console.WriteLine(ex); }
エラー出た(><;
なんかバージョン古いて言われてる。
shincode.info
要は、プロジェクトファイルを書き換えればいいってことね。
というわけで、ソリューションの下のプロジェクトの下に「.csproj」ていう拡張子のファイルがあるんで、それをエディターで開いて、LangVersionを書き加えてやる。
8.0以上を使え言うてるやつと、9.0以上使え言うてるやつの2つがあるので、9.0にしてみる。
VisualStudio再起動。
エラー出やんと走ったー。(´∀`*)
他のマシンからもDB参照できるようにする。
postgresweb.com
C:\Program Files\PostgreSQL\15\data を開いて、
postgresql.conf を書き換え。
# - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart)
pg_hba.conf に下の1書き加え。
# IPv4 local connections: host all all 127.0.0.1/32 scram-sha-256 host all all 0.0.0.0/0 scram-sha-256 # 2023-08-07 追記
postgreSQL再起動(。。。すんのなんかめんどいからマシン再起動した)
OK!^^