フォームで呼び出す際は、引数にDataGridViewオブジェクトとSQL文を指定します。
このモジュールを作った後にMySQL用のモジュールも作りましたが
こっちの方が効率がいいのかな~とか思いながらアレンジしていこうと思います。
Imports Npgsql
Public Class PostgreSQL
Const DATABASE As String = "Server=サーバーのアドレス;Port=ポート番号;User Id= ユーザー名;Password=パスワード;Database=データベース名;"
Sub INSERT_SQL(strSQL As String)
Try
Using conn As NpgsqlConnection = New NpgsqlConnection(DATABASE)
conn.Open()
Dim command As NpgsqlCommand = New NpgsqlCommand(strSQL, conn)
Dim sResult As String = command.ExecuteScalar()
End Using
Catch
MsgBox("送信に失敗しました。", vbCritical + vbOKOnly)
End Try
End Sub
Sub SELECT_ALL_SQL(dataGRID As DataGridView, dbTable As String)
Try
Using conn As New NpgsqlConnection(DATABASE)
conn.Open()
Dim cmd As NpgsqlCommand = New NpgsqlCommand("SELECT * FROM " & dbTable, conn)
Dim da As NpgsqlDataAdapter = New NpgsqlDataAdapter(cmd)
Dim dt As DataTable = New DataTable()
da.Fill(dt)
dataGRID.DataSource = dt
End Using
Catch
MsgBox("データの取得に失敗しました。", vbCritical, vbOKOnly)
End Try
End Sub
Sub SELECT_WHERE_SQL(dataGRID As DataGridView, strSQL As String)
Try
Using conn As New NpgsqlConnection(DATABASE)
conn.Open()
Dim cmd As NpgsqlCommand = New NpgsqlCommand(strSQL, conn)
Dim da As NpgsqlDataAdapter = New NpgsqlDataAdapter(cmd)
Dim dt As DataTable = New DataTable()
da.Fill(dt)
dataGRID.DataSource = dt
End Using
Catch
MsgBox("データの取得に失敗しました。", vbCritical, vbOKOnly)
End Try
End Sub
Sub DELETE_SQL(strSQL As String)
Try
Using conn As NpgsqlConnection = New NpgsqlConnection(DATABASE)
conn.Open()
Dim command As NpgsqlCommand = New NpgsqlCommand(strSQL, conn)
Dim sResult As String = command.ExecuteScalar()
End Using
MsgBox("データを消去しました。", vbInformation + vbOKOnly)
Catch
MsgBox("データを消去しました。", vbCritical + vbOKOnly)
End Try
End Sub
Sub UPDATE_SQL(strSQL As String)
Try
Using conn As NpgsqlConnection = New NpgsqlConnection(DATABASE)
conn.Open()
Dim command As NpgsqlCommand = New NpgsqlCommand(strSQL, conn)
Dim sResult As String = command.ExecuteScalar()
End Using
MsgBox("データを更新しました。", vbInformation + vbOKOnly)
Catch
MsgBox("データを更新しました。", vbCritical + vbOKOnly)
End Try
End Sub
End Class