「Visual Basic」MySQLからデータグリッドを表示する

*本サイトはアフィリエイト広告を利用しています。

このページでは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

コメント

タイトルとURLをコピーしました