0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【PostgreSQL】VB.net フォームアプリケーションでSQLを操作するクラス(自分用)

Last updated at Posted at 2019-10-28

フォームで呼び出す際は、引数に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
0
1
0

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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?