こんにちは、OEです。
行数の多いデータへ何度も読み書きを行う必要があるので、
処理を高速化するためにオンメモリSQLiteを使おうと考えています。
ひとまず下記のコードにて、オンメモリSQLiteのテーブル作成手順がわかり、
それのファイルへの保存もできました。
そこで質問ですが、逆にローカルにあるSQLiteをオンメモリに読み込むには
どうすれば良いのでしょうか。
作業前にローカルのSQLite形式から読み込んで、
大量の作業時は読み書き全てをオンメモリで処理し、
作業後にローカルにSQLite形式で保存したいです。
アドバイス頂けたら幸いです。
//----------------------
// 使用コンポーネント
// TFDConnection , TFDQuery , TFDPhysSQLiteDriverLink ,
TFDPhysSQLiteDriverLink
//----------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
FDConnection1.Params.Add('DriverID=SQLite');
FDSQLiteBackup1.Database := ':memory:';
FDPhysSQLiteDriverLink1.VendorLib :=
ExtractFilePath(Application.Exename)+'sqlite3.dll';
try
FDConnection1.Connected := True;
except
FDConnection1.Close;
Exit;
end;
ShowMessage('接続成功');
FDQuery1.Connection := FDConnection1;
FDQuery1.SQL.Text := 'CREATE TABLE test(name char(20),tell char(20));';
try
FDQuery1.Execute;
except
on E: Exception do begin
ShowMessage(E.Message);
Exit;
end;
end;
FDQuery1.Close;
//---メモリ上のDBをファイルに保存---
FDSQLiteBackup1.DatabaseObj := FDConnection1.CliObj;
// バックアップ先のファイルのファイル名
FDSQLiteBackup1.DestDatabase :=
ExtractFilePath(Application.Exename)+'System.db';
// バックアップ処理を実行する
FDSQLiteBackup1.Backup;
FDConnection1.Connected := false;
end;
//----------------------
MLホームページ:
https://www.freeml.com/delphi-users
----------------------------------------------------------------------
Powered by freeml --
https://www.freeml.com/ --
------------------------------------------------------[freeml byGMO]--
あなたの街のチラシがいつでも無料で見放題!
チラシをクリックしてチラシが拡大されたらポイントゲット♪
まずはかんたん登録♪ -ポイントタウン-
https://www.pointtown.com/ptu/rd.cgi?cid=8912
----------------------------------------------------------------------