with query1  do
    begin
    close
    SQL.clear;
    SQL.add('update aaa.db set aaa1=array(501) ');
    Sql.add('and aaa2=array[502] and aa3=array[503] ' );
    sql.add('where .............')
    open 
    end;
试试看吧!

解决方案 »

  1.   

    1var ye:array[501..668] of string;
     begin
    for j:=501 to 668 do begin 
    ye[j]:=floattostr(j);
    end;
     with query1  do
        begin
        Active:=False;//Add this
        SQL.clear;
        SQL.add('update aaa.db set aaa1=array(501) where .....');
        SQL.add('update aaa.db set aaa2=array(502) where .....');
        SQL.add('update aaa.db set aaa3=array(503) where .....');
        SQL.add('update aaa.db set aaa4=array(504) where .....');
        SQL.add('update aaa.db set aaa5=array(505) where .....');
        ....
         Prepare;
           ExecSQL;
    end;
      

  2.   

    1. Query中, 在同一时间内, 只可有一个update指令.2. 试试:
    var x :variant;x := MyOriginTable['f1;f2;f3;f4;...'];MyCopyTable['f1;f2;f3;f4...'] := x;
      

  3.   

    2. with query1 do
        begin
          close;
          sql.clear;
          sql.add('select 被付值的字段,付值的字段 from tablename where...');
          open;
          FieldByName('被付值的字段').AsVariant:= FieldByName('付值的字段').AsVariant;
        end;
      

  4.   

    1var ye:array[501..668] of string;
     begin
    for j:=501 to 668 do begin 
    ye[j]:=floattostr(j);
    end;
     with query1  do
        begin
        Active:=False;//Add this
        SQL.clear;
        SQL.add('update aaa.db set (aaa1,aaa2,aaa3,aaa4,aaa5)=(:array501,:array502,:array503,:array504,:array505) where .....');
        ....
        ParambyName('array501').Value:=array[501];
        ParambyName('array502').Value:=array[502];
        ....
         Prepare;
           ExecSQL;
    end;
      

  5.   

    var ye:array[501..668] of string;
     begin
    for j:=501 to 668 do begin 
    ye[j]:=floattostr(j);
    end;
     with query1  do
        begin
        SQL.clear;
        SQL.add('update aaa.db set aaa1='''+array(501)+''' where .....');
        SQL.add('update aaa.db set aaa2='''+array(502)+''' where .....');
        SQL.add('update aaa.db set aaa3='''+array(503)+''' where .....');
        SQL.add('update aaa.db set aaa4='''+array(504)+''' where .....');
        SQL.add('update aaa.db set aaa5='''+array(505)+''' where .....');
        ....
         Prepare;
           ExecSQL;
    end;
      

  6.   

    每一条 'update' 语句要对应一个 execsql
      

  7.   

    每一条 'update' 语句要对应一个 execsql