VBからデータベースを使う

以下のようなプログラムでデータベースからデータを読み込むことができる。

準備

以下のデータベースをダウンロードしておこう。

page100db.mdb (都合により access 2002-2003形式)

VBのフォームにはButton とListBoxを1つ置く。

VisualStudio2008の操作方法は-->こちらを参照

ダウンロードしたデータベースをソリューションエクスプローラのアプリケーションにドラッグする。

データソース構成ウィザードでは、「完了」をクリック。

「空のDataSetになります。続行しますか?」は「はい」をクリック。

 

 

プログラム

コードエディタで以下のコードを入力する。


Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
        Dim c1 As New OleDb.OleDbConnection
        Dim cmd1 As New OleDb.OleDbCommand
        Dim r1 As OleDb.OleDbDataReader

        c1.ConnectionString = _
      "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=page100db.mdb"
        c1.Open()

        cmd1 = c1.CreateCommand()
        cmd1.CommandText = "select キャラ from T1"

        ' コマンドを実行してリーダーを設定する
        r1 = cmd1.ExecuteReader()

        ' 一行ずつリーダーを読み込む
        While r1.Read()
            ' Nameフィールドの値をリストボックスに追加する
            ListBox1.Items.Add(r1.Item("キャラ"))
        End While
    End Sub
End Class

	  

このプログラムを実行すると、データベースの内容がリストボックスに表示される。

赤色の行をembedded SQLと呼ぶ。

select キャラ from T1

embedded SQLにはセミコロンをつけない。

以下のSQLをためしてみよう。

アニメの一覧を表示する
select distinct アニメ from T1

 

北斗の拳に登場するキャラの一覧
select キャラ from T1 where アニメ='北斗の拳'

練習問題

Q1 となりのトトロのキャラの一覧を表示するプログラムを作りなさい。

Q3 メイが出てくるアニメの一覧を表示するプログラムを作りなさい。

さらに高いレベルに挑戦したい人は以下のプログラミングに挑戦してみよう。

 

以下のような電子英単語帳のプログラムを作ってみよう。

起動時の画面の例は下記の通り