当然有问题了。
第一,array[501]应该从支付串里面分离出来,因为你这样只能把它当成字符串值"array[501]";
第二,如果你的数据库使用的是SQL Server,同时执行多条语句还有可能,但是你数据库不是SQL Server,即使是SQL Server,我建议你同时执行的SQL语句不要超过500条,再多也一样。

解决方案 »

  1.   

    1 如果你的条件事相同的,用这个:
      for i ;= 1 to n do begin
        str := format('aaa%d=''%s'',', [i, array[500+i]])
        sql := sql + str;
      end;
      sql := copy(sql, 1, length(sql)-1);
      query.sql.text := 'update aaa.db set '+ sql + 'where .....'  query.prepare;
      query.execsql;2 table a, field1, field2
      update a set field1=field2 where .....