2010年1月20日水曜日

VB で SQLite 使ってみる / dotConnect for SQLite

ちょっとVBも勉強してみようかと。 ってか、VC# にてこずっているので、手っ取り早くVBに逃げてる!?

ローカルのアプリとして動かしたいので、DBは、とりあえずSQLiteにしてみる。


■SQLiteをVBで使用する: よしなしごと
 http://trivia.cocolog-nifty.com/blog/2008/12/sqlitevb-e6c5.html


dotConnect for SQLite インストールしたが、
VSのツールボックスに [SQLite Data] が出てこない。。。

■Installation … dotConnect for SQLite のヘルプページ
 http://www.devart.com/dotconnect/sqlite/docs/Installation.html

手動で設定する必要があるもよう。 がんばって読むに、
 VS入れる前に、dotConnectが入っている場合はVS入れた時に、ツールボックスに入ってるみたいだけど、既にVS入れた後で、dotConnect入れた場合は、手動でやってね。 って感じか?

 ツールボックス上、タブの追加 して、[SQLite Data] と名前をつける。
 アイテムの選択で、.NET Framework コンポーネント内、名前空間 でソートして、対象モジュール("Devart" で始まるモジュールを全て選択する。


その他メモ:

・使うときに、Import文を入れる。入れないと、コンパイルエラーになる。。。
 Imports Devart.Data.SQLite

・デザイン画面で、[SQLiteConnection]をフォームにドラッグドロップする。
 で、できたコントロールを右クリック→Conect を選び、Data Source に対象DBのパスを設定する。
 これにより、プログラム中には、接続するDBについての記載がなくてもいい。

↓サンプル
 ※フォーム上に、以下のコントロールがあるとして、
  [SQLiteConnection] のコントロール → SqLiteConnection1
  [Button] のコントロール → Button1
----------------------------------------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  Dim strSelectQuery As String = "SELECT * FROM テーブル名"
  Dim sqlCommand As New SQLiteCommand(strSelectQuery, SqLiteConnection1)

  SqLiteConnection1.Open()

  Dim sqlReadBuf As SQLiteDataReader = sqlCommand.ExecuteReader()
  Dim strData1, strData2, strData3, strData4 As String

  Try
    While sqlReadBuf.Read()
      strData1 = sqlReadBuf.GetString(0)
      strData2 = sqlReadBuf.GetString(1)
      strData3 = sqlReadBuf.GetString(2)
      strData4 = sqlReadBuf.GetString(3)

      Debug.Print("0[" & strData1 & "] " _
            "1[" & strData2 & "] " _
            "2[" & strData3 & "] " _
            "4[" & strData4 & "]")
    End While
  Finally
    sqlReadBuf.Close()
    SqLiteConnection1.Close()
  End Try
End Sub
----------------------------------------------------

0 件のコメント: