Ver Fonte

* Make sure FieldDefs.Update operates on prepared query

git-svn-id: trunk@43037 -
michael há 5 anos atrás
pai
commit
9396decb19
1 ficheiros alterados com 13 adições e 0 exclusões
  1. 13 0
      packages/fcl-db/src/sqldb/sqldb.pp

+ 13 - 0
packages/fcl-db/src/sqldb/sqldb.pp

@@ -536,6 +536,7 @@ type
     procedure ApplyFilter;
     Function AddFilter(SQLstr : string) : string;
   protected
+    procedure OpenCursor(InfoQuery: Boolean); override;
     function CreateSQLStatement(aOwner: TComponent): TCustomSQLStatement; virtual;
     Function CreateParams: TSQLDBParams; virtual;
     Function RefreshLastInsertID(Field: TField): Boolean; virtual;
@@ -2791,6 +2792,18 @@ begin
   Result := SQLstr;
 end;
 
+procedure TCustomSQLQuery.OpenCursor(InfoQuery: Boolean);
+begin
+  if InfoQuery then
+    CheckPrepare;
+  try
+    inherited OpenCursor(InfoQuery);
+  finally
+    if InfoQuery then
+      CheckUnPrepare;
+  end;
+end;
+
 function TCustomSQLQuery.NeedRefreshRecord(UpdateKind: TUpdateKind): Boolean;