Delphi XE5のFireDACでSQLiteデータベースに接続する

Delphi XE5のFireDACでSQLiteデータベースに接続してみました。

新規にVCLフォームアプリケーションを作成します。

フォームに次のコンポーネントを配置します。

  • TButton
  • TFDConnection
  • TFDPhysSQLiteDriverLink
  • TFDGUIxWaitCursor

フォームデザイン

FDConnection1を右クリックして「接続エディタ」を選択します。

FDConnection1を右クリックして「接続エディタ」

ドライバIDを「SQLite」、Databaseにデータベースファイルのパスを設定します。

接続エディタ

FDPhysSQLiteDriverLink1のVenderLibプロパティにsqlite3.dllのパスを設定します。

FDPhysSQLiteDriverLink1のVenderLibプロパティ

Button1のOnClickイベントを記述します。

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    FDConnection1.Connected := True;
    ShowMessage('接続しました。');
  finally
    if FDConnection1.Connected then
      FDConnection1.Close
  end;
end;

実行時に設定する場合は、次のようにします。

procedure TForm1.Button1Click(Sender: TObject);
begin
  FDConnection1.Params.Clear;
  FDConnection1.Params.Add('DriverID=SQLite');
  // データベースファイルのパス
  FDConnection1.Params.Add('Database=c:\test\sample.sdb');
  // sqlite3.dllのパス
  FDPhysSQLiteDriverLink1.VendorLib := 'C:\driver\sqlite3.dll';

  try
    FDConnection1.Connected := True;
    ShowMessage('接続しました。');
  finally
    if FDConnection1.Connected then
      FDConnection1.Close
  end;
end;

アプリケーションを起動して、ボタンをクリックすると、SQLiteデータベースに接続します。

実行時画面

接続結果

データベースのパスを「:memory:」にするとインメモリ データベースを使用します。
データベースファイルは作成されません。

// データベースファイルのパス
FDConnection1.Params.Add('Database=:memory:');

SQLiteデータベースに接続するとき、データベースファイルがなければ自動的に作成されます。
データベースが作成されるとき「OpenMode」で指定した文字コードが使用されます。

OpenMode

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください