SQL的from子句是不能使用动态参数的,我现在想实现这样的功能: 我有表1 表2,表3
我想每次程序启动后能自动递增要连接的表,例如:第一次启动程序连接的是表一,并执行SQL语句;select * from 表1,第二次启动程序连接的是表2,并执行:select * from 表2,这样的功能怎么实现啊??谢谢大家指教了!!!

解决方案 »

  1.   

    把你要的 sql 放到一个 数组或者什么里面,然后做一个 emun 针对每一个不同 sql,循环的时候就可以调用不同的 sql 啦
      

  2.   

    使用配置文件记录打开的次数,缺省打开第一张表
    var
      

  3.   

    那你怎么知道你的启动次数?写文件里吗 要那样的话
    要是用QUERY的话 直接用变量嘛
    case 次数 of 
    1:begin
    SQL.text:='select * from 表1';
    end;
    2:begin
    SQL.text:='select * from 表2';
    end;
    end;
    T-SQL也支持IF CASE 这些 可以自己写存储过程
      

  4.   

    使用配置文件记录打开的次数,缺省打开第一张表
    var
      i:integer;
      ini:TInifile;
    begin
      //....
      i:=Ini.readInteger('SYSTEM','SQLIndex',0)+1;
      Ini.WriteInteger('SYSTEM','SQLIndex',i);
      Ini.Free;
      qTemp.Active := False
      qTemp.SQL.Clear;
      qTemp.SQL.add('SELECT * FROM TABLE'+INTTOSTR(i)+' where ....');
      //.....