Add optional Flags argument to TSQLite3Database

Sometimes it is useful to be able to pass SQLITE_OPEN_READONLY
or others to Open method
This commit is contained in:
Alexander Kotlyarskiy
2015-02-01 00:27:37 +02:00
parent d129f4809e
commit 2073a68242

View File

@@ -58,7 +58,7 @@ type
constructor Create; constructor Create;
destructor Destroy; override; destructor Destroy; override;
procedure Open(const FileName: WideString); procedure Open(const FileName: WideString; Flags: Integer = 0);
procedure Close; procedure Close;
procedure Execute(const SQL: WideString); procedure Execute(const SQL: WideString);
@@ -236,10 +236,13 @@ begin
Result := sqlite3_last_insert_rowid(FHandle); Result := sqlite3_last_insert_rowid(FHandle);
end; end;
procedure TSQLite3Database.Open(const FileName: WideString); procedure TSQLite3Database.Open(const FileName: WideString; Flags: Integer);
begin begin
Close; Close;
Check(sqlite3_open(PAnsiChar(StrToUTF8(FileName)), FHandle)); if Flags = 0 then
Check(sqlite3_open(PAnsiChar(StrToUTF8(FileName)), FHandle))
else
Check(sqlite3_open_v2(PAnsiChar(StrToUTF8(FileName)), FHandle, Flags, nil));
end; end;
function TSQLite3Database.Prepare(const SQL: WideString): TSQLite3Statement; function TSQLite3Database.Prepare(const SQL: WideString): TSQLite3Statement;