Visual C++でSQLiteを使う

SQLiteはデータベースです。データベースというと一般的にはサーバですが、SQLiteはただのライブラリでアプリケーションに組み込んで使えます。SQLiteのソースコードはamalgamationされている状態で提供されています。amalgamationとは、全部のソースコードを1つのファイルにまとめることのようです。amalgamationで提供されるファイルは、Cのソースファイルが1つとヘッダ2つだけしかありませんので簡単に既存のプロジェクトに組み入れることができます。

ここではVisual C++ ver 6でダイアログベースのアプリケーションを作成して、SQLiteを組み込んでみます。

DBを作成する

最初にデータベースを作成します。SQLiteのダウンロードページからPrecompiled Binaries For Windowsの中のコマンドラインツールをダウンロードして解凍します。ここではhsqlite-3_6_6_2.zipをダウンロードしました。sqlite3.exeというファイルが解凍されるので、これを以下のようにコマンドラインから起動して、データベースを作成します。

これでtestdb.dbというファイルができます。
 

AppWizardでダイアログベースアプリを作成

VC6でプロジェクトを作成します。
 

SQLiteのamalgamationソースコードを組み込む

SQLiteのダウンロードページからamalgamationのソースコードをダウンロード、ここではsqlite-amalgamation-3_6_6_2.zipをダウンロードしました。

ダウンロードしたファイルを解凍して中の3つのファイル,sqlite3.c,sqlite3.h,sqlite3ext.hをプロジェクトフォルダにコピーしてから、VC6で[プロジェクト][プロジェクトへ追加][ファイル]を選択して、これらのファイルを追加します。

sqlite3.cがプリコンパイルを使用しないようにプロジェクトの設定を変更します。

ビルドして、エラーにならないか確認します。ウォーニングはいっぱい出ます。

コーディングする

ダイアログにボタンを追加して、ハンドラを追加してコードを書きます。最初にヘッダファイルをインクルードします。

つぎにハンドラにコードを書きます。

sqlite3_open()などに渡す文字列はUTF8で渡さなければなりませんので日本語が含まれる場合は、注意する必要があります。UTF16で渡すことができるバージョンの関数もあります。
 

実行

上のプログラムを実行すると、以下のように表示されます。

Leave a Reply

Your email address will not be published. Required fields are marked *

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