【VB.NET】MySQL(MariaDB)に接続してデータ操作(追加・更新・削除)をしてみる
おはようございます。
前回に引き続き、MySQLの話し。
今回は追加、更新、削除をやってみましたが、ほとんど Oracle と変わらず。
プログラムは前回のものを参考にしてください。
【VB.NET】MySQL(MariaDB)に接続してデータ操作(追加・更新・削除)をしてみる
スポンサーリンク
プログラム修正
更新処理
''' <summary> ''' 更新ボタンクリックイベント ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click 'Using conn = New OracleConnection("Data Source=localhost;User Id=USER01;Password=USER01;") Using conn As New MySqlConnection("Database=DB01;Data Source=localhost;User Id=USER01;Password=USER01; sqlservermode=True;") ' データベースオープン conn.Open() ' データ更新 For i = 0 To dgvCat.Rows.Count - 1 ' テーブルから対象のデータを取得 Dim no As Integer = dgvCat(0, i).Value ' シーケンス列としていないので、 ' 最初に件数を取得して No を計算する Dim cmd As MySqlCommand = New MySqlCommand("SELECT COUNT(*) FROM TBLCAT WHERE No = '" + no.ToString() + "'", conn) Dim cnt As Decimal = cmd.ExecuteScalar() If (cnt = 0) Then ' データ追加 Dim query = "INSERT INTO TBLCAT VALUES (" + no.ToString() + ", '" + dgvCat(1, i).Value + "'" + ", '" + dgvCat(2, i).Value + "'" + ", '" + dgvCat(3, i).Value + "'" + ", '" + dgvCat(4, i).Value + "'" + ", '" + dgvCat(5, i).Value + "')" cmd = New MySqlCommand(query, conn) cmd.ExecuteNonQuery() Else ' データ変更 Dim query = "UPDATE TBLCAT SET" + " NAME = '" + dgvCat(1, i).Value.ToString() + "'" + ", SEX = '" + dgvCat(2, i).Value.ToString() + "'" + ", AGE = '" + dgvCat(3, i).Value.ToString() + "'" + ", KIND_CD = '" + dgvCat(4, i).Value.ToString() + "'" + ", FAVORITE = '" + dgvCat(5, i).Value.ToString() + "' " + "WHERE NO = '" + dgvCat(0, i).Value.ToString() + "'" cmd = New MySqlCommand(query, conn) cmd.ExecuteNonQuery() End If Next conn.Close() End Using AddRowFlg = False ' データ再検索 search() MessageBox.Show("データを更新しました。") End Sub
削除処理
''' <summary> ''' 削除ボタンクリックイベント ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click 'Using conn = New OracleConnection("Data Source=localhost;User Id=USER01;Password=USER01;") Using conn As New MySqlConnection("Database=DB01;Data Source=localhost;User Id=USER01;Password=USER01; sqlservermode=True;") ' データベースオープン conn.Open() ' 選択されている行 For Each r As DataGridViewRow In dgvCat.SelectedRows Dim Cat As Cat = CType(dgvCat.DataSource(), List(Of Cat)).Item(r.Index) ' データ削除 Dim query As String = "DELETE FROM TBLCAT WHERE NO = " + Cat.No ' クエリ実行 Dim cmd As MySqlCommand = New MySqlCommand(query, conn) cmd.ExecuteNonQuery() Next conn.Close() End Using ' データ再検索 search() MessageBox.Show("データを削除しました。") End Sub
まとめ
起動後の画面は割愛。
OracleからMySQLに変更するのは簡単にできそうですね。
次回は PostgreSQL を試してみたいと思います。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません