だら$ちっぷす

仕事の覚書です

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!^^