问题一:
for j:=GMin to GMax do
begin

end;
结果给我报错:
[Warning]  For loop control variable must be simple local variable
GMin和GMax是我在这个Unit里设的Int型变量,循环前已经赋值了。但是还是出现这个错,是为什么啊???问题二:
我想运行一个程序将一个数据表(group)中的数据全部删除,这么写好像不对:(
        sql.Add('delete *');
        sql.Add('from group');
应该怎么写啊???先多谢各位帮助了!!!
另祝新年快乐!!

解决方案 »

  1.   

    问题一理论上不成立,解决办法,在for循环前用edit看看gmin,gmax是否真的是合法数据;
    问题二用TRUNCAGE语句,它比delete好的是只在日志中写删除了全部记录,delete却对每行删除过程进行记录。
    sql1.add('truncate table group');
      

  2.   

    1、在循环里是不是对控件进行了操作?
       能否贴出你的代码?sql.Add('delete *');
    sql.Add('from group');group是SQL的一个关键字,不要用这个来命名表名。
    你把那个表改个名试试看。
      

  3.   

    楼上说的对,尽量不用sql啊form啊这种比较敏感的名字
      

  4.   

    第一题循环里的代码是:
    for j:=GMin to GMax do
    begin
        NCount:=NCount+1;
        query1.next;
    end;
      

  5.   

    第一个问题的原因是
    FOR循环控制变量必须为简单局部变量 你是不是设置为全局变量的了啊
     
    假如按照你的办法删除数据的话 不需要写*的 只需要 delete from table1
      

  6.   

    多谢,就是angle097113(深思不解())说得问题!
      

  7.   

    >>[Warning]  For loop control variable must be simple local variable
    你的变量声明有问题, 我估计不是int类型!sql.Add('delete from XXXX');
    就可!