このページではVisual Basicでデータグリッドでデータベースを更新する方法を解説しています。
- データベース MariaDB
- Visual Studio 2022
簡単なサンプルコーディングなので同時更新は考慮していません、十分なテストを行ってから実装してください。
画面サンプル
今回のコーディングサンプルで表示される画面は以下です。
フォームの作成
Visual Basicでコーディングする前にフォームを作成します。
データグリッドとボタンだけを配置してあります。
Formをロードした時にデータベースからデータを読み込み表示します。
「確認」ボタンでデータベースの更新を行います。
データグリッドの名前は「dg」とします。
ボタンの名前は「okButton」とします。
コーディングサンプル
データの表示
Form Load時のデータ表示のコーディングサンプルは以下です。
Imports MySql.Data.MySqlClient
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim str As String
'--- データベース接続 ---
str = "Server=localhost" _
& ";Port=3306" _
& ";Database=テストdb" _
& ";UserID=root" _
& ";Password=''"
Using cn As New MySql.Data.MySqlClient.MySqlConnection(str)
cn.Open()
'--- データの読み込み ---
Dim sql As String = "select * from 売上tbl"
Using da As New MySqlDataAdapter(sql, cn)
Dim dt As New DataTable
da.Fill(dt)
'--- データグリッドにバインドする ---
dg.DataSource = dt
'--- クローズ ---
End Using
End Using
End Sub
データ更新(Update)
「更新」ボタンを押した時のデータ更新処理は以下のコーディングです。
Imports MySql.Data.MySqlClient
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
.
. (中略)データの表示
.
End Sub
'-------------------------------------------------------------------------------------
Private Sub okButton_Click(sender As Object, e As EventArgs) Handles okButton.Click
Dim str As String
'--- データベース接続 ---
str = "Server=localhost" _
& ";Port=3306" _
& ";Database=テストdb" _
& ";UserID=root" _
& ";Password=''"
Using cn As New MySql.Data.MySqlClient.MySqlConnection(str)
cn.Open()
'--- データの読み込み ---
Dim sql As String = "select * from 売上tbl"
Using da As New MySqlDataAdapter(sql, cn)
Dim dt As New DataTable
Dim sqlcb = New MySql.Data.MySqlClient.MySqlCommandBuilder(da)
'--- データの更新 ---
dt = dg.DataSource
da.Update(dt)
MessageBox.Show("処理終了")
'--- クローズ ---
End Using
End Using
End Sub
End Class