vb.netでpostgresqlのデータベース接続、操作

スポンサード リンク
データベース
vb.netでデータベース操作
 
プロジェクト作成

「VBでフリーソフトを作る」と「データベース入門」で得た知識を使いVB.netプログラムでデータベース操作を
行ってみます。
「Visual Studio(VS)」で新しいプロジェクトをフォームアプリケーションにし、任意の名前で作成してください。

プロジェクトの概要

今回作成するテストプログラムの概要はフォームにテキストボックスとボタンを配置し、テキストボックスに
入力した値をデータベースにどんどん登録していくというプログラムを作ってみます。
先に「PostgreSql」にはテーブルを作成しておきます。
cseなどを使い「create table test1(id serial,comment text)」とSQLを実行させてください。
これでテスト用テーブルが出来ます。

ツールの配置

作成したプロジェクトのフォームに「Button」と「TexBox」を配置してください。
今回は動作メインなので、ボタン名や配置場所などは問いません。

処理内容のコーディング

今回は「ボタン」を押した時に動作させるプログラムなので配置したButtonをダブルクリックしてイベントを作成し、
そこに処理を書いていきます。内容は下記のように記載してみてください。

Dim conn As NpgsqlConnection =
New NpgsqlConnection("Server=localhost;Port=5432;User Id=データベースのユーザID;Password=データベースのパスワード;Database=データベース名;")
conn.Open()
Dim command As NpgsqlCommand =
New NpgsqlCommand("insert into test1(comment) values(" + TextBox1.Text + ");", conn)
Dim sResult As String = command.ExecuteScalar()
MessageBox.Show("追加できました")
conn.Close()

記述するとエラーが表示されたと思います。これは文法エラーではなくデータベース接続に利用している
「NpgsqlConnection」のクラスが宣言されていないというエラーです。
といってもクラスは新しく作るのではなくインポートします。

まずはソリューションエクスプローラのプロジェクトを右クリックし「参照の追加」を選択してください。
ここから今回利用するクラスに必要な「dll(クラスを集めた圧縮フォルダ)」を指定します。
「PostgreSQL」をインストールしたフォルダに移動(インストール版ならおそらくProgramFile内)し、binフォルダ
の中にある「Npgsql.dll」を選択します。「Npgsql.dll」がない場合はダウンロードが出来ていないので、
PostgreSqlのスタックビルダを立ち上げてダウンロードしてください。

参照の追加が出来たらインポートを行います。
処理を書くファイル内の一番上に「Imports Npgsql」を追加してください。
これでエラーが消えるはずです。

最後にデバッグモードでフォームを立ち上げて動作を確認してみてください。
テキストボックスに値を入力してボタンを押すと「追加できました」というメッセージが表示され、cseなどで
「test1」テーブルを確認すると行が追加されているはずです。