Browse Source

Removing global FSQLQuery in QueryWindow
modified: querywindow.pas

motaz 11 years ago
parent
commit
e73fcbd70a
1 changed files with 9 additions and 2 deletions
  1. 9 2
      querywindow.pas

+ 9 - 2
querywindow.pas

@@ -176,7 +176,7 @@ type
     FQueryPart: string;
     FQueryPart: string;
     FTab: TTabSheet;
     FTab: TTabSheet;
     FResultMemo: TMemo;
     FResultMemo: TMemo;
-    FSQLQuery: TSQLQuery;
+//    FSQLQuery: TSQLQuery;
     FSQLScript: TModSQLScript;
     FSQLScript: TModSQLScript;
     // Text for caption
     // Text for caption
     FAText: string;
     FAText: string;
@@ -1120,6 +1120,7 @@ var
   TempQuery: TSQLQuery;
   TempQuery: TSQLQuery;
   SanitizedSQL: string;
   SanitizedSQL: string;
   i: integer;
   i: integer;
+  fSQLQuery: TSQLQuery;
 begin
 begin
   try
   try
     // Script
     // Script
@@ -1151,6 +1152,9 @@ begin
       begin
       begin
         FTab:= nil;
         FTab:= nil;
         try
         try
+          fSQLQuery:= TSQLQuery.Create(nil);
+          fSQLQuery.DataBase:= FIBConnection;
+          fSQLQuery.Transaction:= FSQLTrans;
           FTab:= CreateResultTab(qtSelectable, FSQLQuery, FSQLScript, FResultMemo);
           FTab:= CreateResultTab(qtSelectable, FSQLQuery, FSQLScript, FResultMemo);
           FTab.ImageIndex:= 6;
           FTab.ImageIndex:= 6;
           FTab.Hint:= FQueryPart;
           FTab.Hint:= FQueryPart;
@@ -2100,13 +2104,16 @@ end;
 { SQL thread termination }
 { SQL thread termination }
 
 
 procedure TfmQueryWindow.ThreadTerminated(Sender: TObject);
 procedure TfmQueryWindow.ThreadTerminated(Sender: TObject);
+var
+  aSQLQuery: TSQLQuery;
 begin
 begin
   // Raise exception if an error occured during thread execution (Open)
   // Raise exception if an error occured during thread execution (Open)
   if FQT.Error then
   if FQT.Error then
   begin
   begin
     if Assigned(FTab) then
     if Assigned(FTab) then
       FTab.TabVisible:= False;
       FTab.TabVisible:= False;
-    FTab:= CreateResultTab(qtExecute, FSQLQuery, FSQLScript, FResultMemo);
+    aSQLQuery:= (Sender as TQueryThread).Query;
+    FTab:= CreateResultTab(qtExecute, aSQLQuery, FSQLScript, FResultMemo);
     pgOutputPageCtl.ActivePage:= FTab;
     pgOutputPageCtl.ActivePage:= FTab;
 
 
     FResultMemo.Text:= FQT.ErrorMsg;
     FResultMemo.Text:= FQT.ErrorMsg;