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 メイが出てくるアニメの一覧を表示するプログラムを作りなさい。
さらに高いレベルに挑戦したい人は以下のプログラミングに挑戦してみよう。
以下のような電子英単語帳のプログラムを作ってみよう。
- 単語帳には、英語のスペルと意味、テストした回数、正解の数を記録することができる。
- 出題は、正解率が低い単語から出題する。
- 正解、不正解によって、テストした回数、正解の数を修正する
起動時の画面の例は下記の通り