unit SQliteConnection;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Settings, SQLite3Conn, SQLDB;
type
{ TSQliteConnection }
TSQliteConnection = class(TObject)
private
FAppDatabaseFolder, FAppDatabaseFile : String;
function GetAppDatabaseFile: String;
function GetAppDatabaseFolder: String;
procedure SetAppDatabaseFile(AValue: String);
procedure SetAppDatabaseFolder(AValue: String);
protected
SQLite3Conn: TSQLite3Connection;
SQLTransaction: TSQLTransaction;
public
constructor Create; overload;
destructor Destroy; override;
property AppDatabaseFolder : String Read GetAppDatabaseFolder Write SetAppDatabaseFolder;
property AppDatabaseFile : String Read GetAppDatabaseFile Write SetAppDatabaseFile;
end;
implementation
{ TSQliteConnection }
{%region Properties}
...
{%endregion Properties}
constructor TSQliteConnection.Create;
begin
inherited;
AppDatabaseFolder := ExtractFilePath(ParamStr(0));
AppDatabaseFile := AppDatabaseFolder + Settings.DatabaseFolder + PathDelim + Settings.DatabaseName;
SQLite3Conn := TSQLite3Connection.Create(nil);
SQLTransaction := TSQLTransaction.Create(nil);
SQLite3Conn.Transaction := SQLTransaction;
SQLTransaction.DataBase := SQLite3Conn;
end;
destructor TSQliteConnection.Destroy;
begin
if assigned(SQLite3Conn) then SQLite3Conn.Free;
if assigned(SQLTransaction) then SQLTransaction.Free;
inherited Destroy;
end;
end.