我用的adoquery,。显示是用的dbgrid我想将dbgrid里的A列数据快速修改成‘aa’值。
大约有几千条记录。目前的做法是;
adoquery.first;
while not adoquery.eof do
begin
  adoquery.fieldbyname('a').value:='aa';
  adoquery.next;
end这样子需要好几十秒才可以完成。有没有什么快的办法啊?数据是通过存储过程运算得到的。

解决方案 »

  1.   

    联合了多表? 同时生成的一个临表,这临表只存主键,然后根据 update 正式表就行了
      

  2.   


    是不是还是要用sql语句来update啊,没有其他办法吗?
      

  3.   

    是SQL语句吖,怎么了? 语句是最快的啦
      

  4.   

    哎,就没有在delphi里就能快速搞定的办法吗?用sql 语句实在是太复杂啦。我那过程本来就复杂,计算出来结果都要好几秒到十来秒。这样子等于是要让存储过程再计算一次
      

  5.   

    如果仅显示的话
    建议你用calc字段来代替
    会有你想不到的速度
      

  6.   

    我要修改的字段是sql server中bit类型的。在dbgrideh中是用checkbox来显示的。