我在中间层编写:
    with adoquery1 do
       begin
          close;
          sql.Clear;
          sql.Add('select * from hpzlb');
          open;
          first;
          for i:=1 to recordcount do
             begin
                 adoquery1.Edit ;
                 fieldbyname('ck').AsString:='90';
                 post;
                  next;
             end;
    end;
这样数据库怎么不能更新阿??帮帮忙!!!

解决方案 »

  1.   

    直接写SQL语句多方便啊,也用不着循环,UPDATE HPZLB SET CK='90' WHERE ...
      

  2.   

    with adoquery1 do
           begin
              close;
              sql.Clear;
              sql.Add('UPDATE HPZLB SET CK='90'');
              open;
           end;
      

  3.   

    写错了:
    with adoquery1 do
           begin
              close;
              sql.Clear;
              sql.Add('UPDATE HPZLB SET CK='90'');
              execsql;          
           end;
      

  4.   


    for i:=1 to recordcount do
    前一句加
    adoquery1.last;
    adoquery1.first
    不然,recordcount方法有可能得到的是零值。
      

  5.   

    虽然你的方法有问题,但还是应该可以更新,看一下adoquery设置