「Visual Basic」 DataReaderでDBアクセス

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

このページではVisual Basicで「DataReader」を使用してDBアクセスする方法を解説しています。

  • データベース MariaDB
  • Visual Studio 2022

Visual BasicでのDBアクセスは、主に「DataReader」と「DataAdapter」が使われます。

「DataReader」はデータベースから読み込んだデータを1行ずつ処理するときに使います。

スポンサーリンク
スポンサーリンク

コーディングサンプル

Dimステートメント使用例

Imports System
Imports System.Data
Imports System.Security.Cryptography
Imports MySql.Data.MySqlClient

Module Program
    Sub Main(args As String())

   '--- データベース接続 ---
   Dim mysqldb As String = "Server=localhost" _
                           & ";Port=3306" _
                           & ";Database=テストdb" _
                           & ";UserID=root" _
                           & ";Password=''"

   Dim cn As New MySqlConnection()

   cn.ConnectionString = mysqldb
   cn.Open()

   '--- データの読み込み ---
   Dim sql = "select * from 売上tbl"
   Dim cmd = New MySqlCommand(sql, cn)

   Dim dr As MySqlDataReader
   dr = cmd.ExecuteReader()

   '--- データの取り出し ---
   Do While (dr.Read())
       Console.WriteLine(dr.Item("品目CD") & " " & dr.Item("品目名"))
   Loop

   '--- クローズ ---
   dr.Close()
   cn.Close()
 

    End Sub
End Module

Usingステートメント使用例

Imports System
Imports System.Data
Imports System.Security.Cryptography
Imports MySql.Data.MySqlClient

Module Program
    Sub Main(args As String())

        '--- データベース接続 ---
        Dim mysqldb As String = "Server=localhost" _
                                & ";Port=3306" _
                                & ";Database=テストdb" _
                                & ";UserID=root" _
                                & ";Password=''"

        Using cn As New MySqlConnection()

            cn.ConnectionString = mysqldb
            cn.Open()

            '--- データの読み込み ---
            Dim sql = "select * from 売上tbl"
            Dim cmd = New MySqlCommand(sql, cn)

            Using dr As MySqlDataReader = cmd.ExecuteReader()

                '--- データの取り出し ---
                Do While (dr.Read())
                    Console.WriteLine(dr.Item("品目CD") & " " & dr.Item("品目名"))
                Loop

                '--- クローズ ---
            End Using
        End Using

    End Sub
End Module
スポンサーリンク

解説

ライブラリインポート

DBアクセスに必要なライブラリをインポートします。サンプルで使用しているデータベースはMariaDBなので「MySql.Data.MySqlClient」をインポートしています。

Imports MySql.Data.MySqlClient

※MariaDBの場合は事前にVisual StudioでMysql.Dataのインストールが必要です。

データベース接続

DB接続の文字列の定義、MySqlConnectionをインスタンス化、Openメソッドでデータベースに接続します。

'--- データベース接続 ---   
Dim mysqldb As String = "Server=localhost" _
                           & ";Port=3306" _
                           & ";Database=テストdb" _
                           & ";UserID=root" _
                           & ";Password=''"

   Dim cn As New MySqlConnection()

   cn.ConnectionString = mysqldb
   cn.Open()

データの読み込み

ExecuteReaderメソッドでSQLが実行され、結果がMySqlDataReaderオブジェクト(dr)に返されます。

   '--- データの読み込み ---
   Dim sql = "select * from 売上tbl"
   Dim cmd = New MySqlCommand(sql, cn)

   Dim dr As MySqlDataReader
   dr = cmd.ExecuteReader()

データの取り出し

Readメソッドにて1件ずつデータを取り出します。

dr.Read()
タイトルとURLをコピーしました