fcl-db: sqldb: Some SQLConnections does not support statement [un]preparation, so let them do cleanup f.e. cancel pending queries and/or free resultset when dataset is closed.

git-svn-id: trunk@24803 -
This commit is contained in:
lacak 2013-06-04 10:11:38 +00:00
parent c5cf5b5b2f
commit b7d5ed4bd7

View File

@ -1448,7 +1448,7 @@ begin
FreeFldBuffers;
FStatement.Unprepare;
FIsEOF := False;
inherited internalclose;
inherited InternalClose;
FStatement.DoPrepare;
FStatement.DoExecute;
inherited InternalOpen;
@ -1575,8 +1575,12 @@ procedure TCustomSQLQuery.InternalClose;
begin
if not IsReadFromPacket then
begin
if assigned(Cursor) and Cursor.FSelectable then FreeFldBuffers;
FStatement.Unprepare;
if assigned(Cursor) and Cursor.FSelectable then
FreeFldBuffers;
// Some SQLConnections does not support statement [un]preparation,
// so let them do cleanup f.e. cancel pending queries and/or free resultset
if not FStatement.Prepared then
FStatement.DoUnprepare;
end
else
begin
@ -1590,7 +1594,7 @@ begin
if assigned(FInsertQry) then FreeAndNil(FInsertQry);
if assigned(FDeleteQry) then FreeAndNil(FDeleteQry);
// FRecordSize := 0;
inherited internalclose;
inherited InternalClose;
end;
procedure TCustomSQLQuery.InternalInitFieldDefs;