VB.NETから組み込みデータベースのSQLiteを操作する方法

VB.NETからSQLiteを操作する方法をご紹介します。

 

SQLiteとは、SQL ServerやMySQL、PostgreSQLと同じデータベース管理システムですが、それらとは異なり、サーバー上で動作するのではなく、アプリケーションに組み込んで利用するデータベースです。有名なところでは、FirefoxでSQLiteが採用されています。一般的なデータベースとは異なり、大規模なシステムには不向きですが、中小規模では、速度面においては他のデータベースと遜色ありません。

特徴としては、とても軽量であることと、データの保存を単一ファイルで行うことが挙げられます。

SQLiteについて詳しく知りたい場合は、Wikipediaを参照してください。

 

今回は、SQLiteの操作にSystem.Data.SQLiteというライブラリを使用します。

 System.Data.SQLiteの特徴

  • 完全なADO.NET 2.0の実装
  • Monoサポート
    Monoとは、.NET Frameworkの互換環境を提供する為のオープンソースソフトウェアです。
  • ADO.NET 3.5 Entity Frameworkの実装
  • Visual Studio 2005/2008 Design-Timeをサポート
    サーバーエクスプローラーに、SQLiteの接続を追加することが出来ます。
  • 暗号化のサポート
  • 900kb以下の再頒布可能な単体ファイル
  • 完全フリー
    ライセンスはパブリックドメインとなっており、個人、商用問わず自由に使うことが出来ます。

 

ライブラリのダウンロード先はここです。

この記事を書いた時点でのSystem.Data.SQLiteのバージョンは “1.0.66.0″ で、SQLiteのバージョンは “3.6.23.1″ です。  

 

今回は、セットアップファイルではなく、バイナリのZIPファイルをダウンロードします。

Newest Filesの項目に、SQLite-x.x.xx.x-binaries.zipというリンクがあるので、そこをクリックし、ダウンロードします。 

ただし、上記にある、Visual StudioのDesign-Timeを使用したい場合には、インストーラーでインストールする必要があります。

 

ZIPファイルをダウンロードしたら、解凍ソフトを使って解凍してください。

使用するのは、System.Data.SQLite.DLL(ライブラリ本体) とSystem.Data.SQLite.XML(インテリセンス用の定義ファイル)の二つです。この二つのファイルは、解凍したフォルダの中にあるbinフォルダの下にあります。System.Data.SQLite.XMLファイルに関しては、無くても動作します。

 System.Data.SQLiteフォルダー

このライブラリの名前空間は、System.Data.SQLiteと分かりやすくなっています。ただ、個人的にSystemの名前空間は、.NET標準の名前空間という気がするのでちょっと違和感があります。 

Visual Studio 2005のプロジェクトを作成

画面左にある、作成のプロジェクトをクリックします。

Visual Studio 2005初期画面

以下の画面が表示されるので、Windows アプリケーションを選択します。

今回は、名前は初期値のままで進めますが、必要があれば、名前も変更してください。

Visual Studio 2005プロジェクト作成

System.Data.SQLiteの参照設定

メニューバーのプロジェクト→参照の追加をクリックします。

Visual Studio 2005参照設定メニュー

以下の画面が表示されるので、参照タブをクリックします。

System.Data.SQLite.DLLを選択し、OKボタンをクリックします。

Visual Studio 2005参照設定

System.Data.SQLiteの接続文字列

接続文字列の引数については、別途記事を書いたので、そちらを参照してください。

System.Data.SQLiteの接続文字列で使用できる引数の説明

サンプルソース

接続文字列のData Sourceにデータベースファイルへのパスを指定してください。

以下、サンプルソースです。ソースのライセンスはGPLとします。

Imports System.Data.SQLite

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Connection As New SQLiteConnection
        Dim Command As SQLiteCommand
        Dim DataReader As SQLiteDataReader

        '接続文字列を設定
        Connection.ConnectionString = "Version=3;Data Source=test.db;New=False;Compress=True;"

        ''パスワードをセット
        'Connection.SetPassword("password")

        'オープン
        Connection.Open()

        ''パスワードを変更
        'Connection.ChangePassword("password")

        'コマンド作成
        Command = Connection.CreateCommand

        'SQL作成
        Command.CommandText = "SELECT * FROM hoge"

        'データリーダーにデータ取得
        DataReader = Command.ExecuteReader

        'データを全件出力
        Do Until Not DataReader.Read
            Debug.Print(DataReader.Item("field01").ToString)
            Debug.Print(DataReader.Item("field02").ToString)
            Debug.Print(DataReader.Item("field03").ToString)
            Debug.Print(DataReader.Item("field04").ToString)
            Debug.Print(DataReader.Item("field05").ToString)
        Loop

        '破棄
        DataReader.Close()
        Command.Dispose()
        Connection.Close()
        Connection.Dispose()
    End Sub
End Class

パスワードが設定されているデータベースの場合は、以下のコードをOpenメソッドの前に挿入します。上記のコードではコメントアウトしてあります。

Connection.SetPassword("password")

データベースのパスワードを変更する場合には、以下のコードをOpenメソッドより後に挿入します。上記のコードではコメントアウトしてあります。

Connection.ChangePassword("password")

独自関数の追加

独自関数の追加につていは、別途記事を書いたので、そちらを参照してください。

System.Data.SQLiteで独自関数を追加して利用するVB.NETのサンプル

PupSQLite

SQLiteのデータベースファイルの中身を見たい場合には、PupSQLiteというツールがオススメです。

他にも似たようなツールはたくさんあるのですが、PupSQLiteは、Microsoft Access 2000/2003ライクなユーザーインターフェイスで、他のツールよりもかなり使いやすくなっています。

このツールは、暗号化にも対応しているので、暗号化されたデータベースファイルを見る場合にも使用することが出来ます。

 

ちなみに、上記サンプルで使用したデータベースを作った時の手順です。

PupSQLiteの起動

公式サイトよりダウンロードし、解凍したファイルの中にあるPupSQLite.exeを実行します。

PupSQLite起動

テーブルの作成

メニューバーのファイル→新規作成をクリックします。

クリックすると、以下の画面が表示されるので、「hoge」と入力します。

PupSQLiteテーブル名入力

テーブル定義を作成する画面が表示されるので、作成するテーブルの定義を入力します。

PupSQLiteテーブル定義

データベースファイルの保存

定義画面でOKボタンを押すとデータベースの保存ダイアログが表示されるので、任意の場所に保存します。

PupSQLiteデータベースファイル保存

データの登録

データベースファイルを作成すると以下のような画面が表示されます。

PupSQLiteメニュー画面

hogeをダブルクリックして、テーブルにデータを登録します。

PupSQLiteデータ入力

入力画面の×ボタンをクリックすると、以下のメッセージが表示されるのではいをクリックします。

PupSQLite保存確認

Share on Facebook

  1. コメントはありません。

  1. トラックバックはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)
*

広告

Facebook

カレンダー

2010年9月
« 8月   11月 »
 1234
567891011
12131415161718
19202122232425
2627282930  

最近の投稿

アーカイブ