From 2073a68242f000bc8c97e938cb19161266856cdd Mon Sep 17 00:00:00 2001 From: Alexander Kotlyarskiy Date: Sun, 1 Feb 2015 00:27:37 +0200 Subject: [PATCH] Add optional Flags argument to TSQLite3Database Sometimes it is useful to be able to pass SQLITE_OPEN_READONLY or others to Open method --- Source/SQLite3Wrap.pas | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Source/SQLite3Wrap.pas b/Source/SQLite3Wrap.pas index 6641dd5..666e94b 100644 --- a/Source/SQLite3Wrap.pas +++ b/Source/SQLite3Wrap.pas @@ -58,7 +58,7 @@ type constructor Create; destructor Destroy; override; - procedure Open(const FileName: WideString); + procedure Open(const FileName: WideString; Flags: Integer = 0); procedure Close; procedure Execute(const SQL: WideString); @@ -236,10 +236,13 @@ begin Result := sqlite3_last_insert_rowid(FHandle); end; -procedure TSQLite3Database.Open(const FileName: WideString); +procedure TSQLite3Database.Open(const FileName: WideString; Flags: Integer); begin 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; function TSQLite3Database.Prepare(const SQL: WideString): TSQLite3Statement;