fcl-db: sqlite: when raising database error retrieve also extended error code and pass it to ESQLDatabaseError exception object.

git-svn-id: trunk@32034 -
This commit is contained in:
lacak 2015-10-13 05:23:20 +00:00
parent 63813f3e96
commit 16b02dcd2b

View File

@ -152,16 +152,8 @@ begin
end;
procedure TSQLite3Cursor.checkerror(const aerror: integer);
Var
S : String;
begin
if (aerror<>sqlite_ok) then
begin
S:=strpas(sqlite3_errmsg(fhandle));
DatabaseError(S);
end;
fconnection.checkerror(aerror);
end;
Procedure TSQLite3Cursor.bindparams(AParams : TParams);
@ -810,13 +802,15 @@ end;
procedure TSQLite3Connection.checkerror(const aerror: integer);
Var
S : String;
ErrMsg : String;
ErrCode : integer;
begin
if (aerror<>sqlite_ok) then
begin
S:=strpas(sqlite3_errmsg(fhandle));
DatabaseError(S,Self);
ErrMsg := strpas(sqlite3_errmsg(fhandle));
ErrCode := sqlite3_extended_errcode(fhandle);
raise ESQLDatabaseError.CreateFmt(ErrMsg, [], Self, ErrCode, '');
end;
end;