mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-12 19:09:29 +02:00
* Implement LastInsertRowId
git-svn-id: trunk@14220 -
This commit is contained in:
parent
e5ebb2a26e
commit
9e44456f81
@ -150,6 +150,7 @@ type
|
||||
function SqliteExec(Sql: PChar; ACallback: TSqliteCdeclCallback; Data: Pointer): Integer; virtual; abstract;
|
||||
procedure InternalCloseHandle; virtual; abstract;
|
||||
function InternalGetHandle: Pointer; virtual; abstract;
|
||||
function GetLastInsertRowId: Int64; virtual; abstract;
|
||||
procedure GetSqliteHandle;
|
||||
procedure BuildLinkedList; virtual; abstract;
|
||||
procedure FreeItem(AItem: PDataRecord);
|
||||
@ -238,6 +239,7 @@ type
|
||||
property ExpectedUpdates: Integer write SetExpectedUpdates;
|
||||
property ExpectedDeletes: Integer write SetExpectedDeletes;
|
||||
property IndexFields[Value: Integer]: TField read GetIndexFields;
|
||||
property LastInsertRowId: Int64 read GetLastInsertRowId;
|
||||
property RowsAffected: Integer read GetRowsAffected;
|
||||
property ReturnCode: Integer read FReturnCode;
|
||||
property SqliteHandle: Pointer read FSqliteHandle;
|
||||
|
@ -46,6 +46,7 @@ type
|
||||
TSqlite3Dataset = class(TCustomSqliteDataset)
|
||||
protected
|
||||
procedure BuildLinkedList; override;
|
||||
function GetLastInsertRowId: Int64; override;
|
||||
function GetRowsAffected:Integer; override;
|
||||
procedure InternalCloseHandle; override;
|
||||
function InternalGetHandle: Pointer; override;
|
||||
@ -322,6 +323,11 @@ begin
|
||||
FBeginItem^.Row[Counter] := nil;
|
||||
end;
|
||||
|
||||
function TSqlite3Dataset.GetLastInsertRowId: Int64;
|
||||
begin
|
||||
Result := sqlite3_last_insert_rowid(FSqliteHandle);
|
||||
end;
|
||||
|
||||
function TSqlite3Dataset.ReturnString: String;
|
||||
begin
|
||||
Result := SqliteCode2Str(FReturnCode) + ' - ' + sqlite3_errmsg(FSqliteHandle);
|
||||
|
@ -48,6 +48,7 @@ type
|
||||
function GetSqliteEncoding: String;
|
||||
protected
|
||||
procedure BuildLinkedList; override;
|
||||
function GetLastInsertRowId: Int64; override;
|
||||
function GetRowsAffected:Integer; override;
|
||||
function InternalGetHandle: Pointer; override;
|
||||
procedure InternalCloseHandle; override;
|
||||
@ -275,6 +276,11 @@ begin
|
||||
FBeginItem^.Row[Counter] := nil;
|
||||
end;
|
||||
|
||||
function TSqliteDataset.GetLastInsertRowId: Int64;
|
||||
begin
|
||||
Result := sqlite_last_insert_rowid(FSqliteHandle);
|
||||
end;
|
||||
|
||||
function TSqliteDataset.ReturnString: String;
|
||||
begin
|
||||
case FReturnCode of
|
||||
|
Loading…
Reference in New Issue
Block a user