このページではVisual BasicでMySQLからデータを取得して、データグリッドに表示する方法を解説しています。
- データベース MariaDB
- Visual Studio 2022
DataGridにデータを表示するには「DataAdapter」でデータを取り込み、データグリッドのデータソースのに連結させることで画面に表示できます。
画面サンプル
今回のコーディングサンプルで表示される画面は以下です。
フォームの作成
Visual Basicでコーディングする前にフォームを作成します。
データグリッドだけのシンプルなフォームです。
データグリッドの名前は「dg」とします。
コーディングサンプル
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
End Class
解説
ライブラリインポート
DBアクセスに必要なライブラリをインポートします。サンプルで使用しているデータベースはMariaDBなので「MySql.Data.MySqlClient」をインポートしています。
Imports MySql.Data.MySqlClient
データベース接続
DB接続の文字列の定義、MySqlConnectionをインスタンス化、Openメソッドでデータベースに接続します。
'--- データベース接続 ---
str = "Server=localhost" _
& ";Port=3306" _
& ";Database=テストdb" _
& ";UserID=root" _
& ";Password=''"
Using cn As New MySql.Data.MySqlClient.MySqlConnection(str)
cn.Open()
・
・
End Using
データの読み込み
SQLを作成してMySqlDataAdapterをインスタンス化した後に、FILLメソッドにてDataTableオブジェクト(dt)にデータを一括で取り込みます。
'--- データの読み込み ---
Dim sql As String = "select * from 売上tbl"
Using da As New MySqlDataAdapter(Sql, cn)
Dim dt As New DataTable
da.Fill(dt)
.
.
End Using
データグリッドにデータを表示する
FILLメソッドにて取り込んだデータをデータグリッド(gd)にバインドすることで画面に表示できます。
da.Fill(dt)
'--- データグリッドにバインドする ---
dg.DataSource = dt