老大们,本人为一菜鸟,以下问题请大家作答。 1、query控件指定了tstrings,又通过,query.sql[num]为它增加了sql指令,再执行
query.execsql这时是同时执行tstrings与后面追加的指令。如果同时执行的话,先执行那一个?
2、通过query.sql[0],sql[2],sql[...]如果
query.sql[0]:='……';
query.sql[1]:='……';
……
query.execsql;
//这时的执行结果是不是sql[0]+sql[1]+……的执行结果?连接时是不是按照数字顺序连接执行的?可不可以在这些指令中使用多条不同的指令?如果不能执行多条指令,用什么方法将前面执行的指令清除?

解决方案 »

  1.   

    var
      StrList: TStrings;
      i: Integer;
    begin
      StrList := TStringList.Create;
      try
        StrList.Add('SELECT * FROM table1');
        StrList.Add('SELECT * FROM table2');    for i:=0  to  StrList.Count-1 do
        begin
          Query1.SQL.Clear;
          Query1.SQL.Text := StrList.Strings[i];
          Query1.ExecSQL;   //or Query1.Open
        end;
      finally
        StrList.Free;
      end;
    end;(注:只提供参考、実際SQL文若是SELECT语句好象不现实吧?)
      

  2.   

    好像不能一起执行吧,看看李维的《Delphi7数据库高效编程》,我记得里面好像写过,现在宝蓝正在做这方面的工作