Access数据库中,假如数据表中有3条数据 ,我用ADOQuery中Insert 方法,再插入一条,那么应该有四条了,可是我还是用ADOQuery马上去查询,结果还是3条,而数据库中却有四条。
等我把程序重新运行下,第四条就出了,但继续上面的操作的话,还是会有同样的错误,
这是怎么回事啊?请指教~~急~~

解决方案 »

  1.   

    在用ADOQuery查询前先ADOQuery.CLOSE,然后再OPEN .这样查询时就是4条记录了
      

  2.   

    你需要刷新数据啊,就是把ADOQuery关掉再打开
      

  3.   

    你需要刷新数据,把ADOQuery关闭后再打开
      

  4.   

    你执行了insert后
    加一条 adoquery1.refresh;
      

  5.   

    这个close/open好变态啊,有没有更好的啊
      

  6.   

    555~~~ 你们说的方法我都用过了,但是都不行。
    我发觉,好象是Access反映特别慢,大概要过几秒再打开,记录条数就正确了。
    要不看看我的代码form2 中的 保存操作
    with ADOQuery1 do
        begin
    close;
    with sql do
    begin
    clear;
    Add('Select * from ModifyRecordTable')
    end;
    open;
    Append;
    .
    .
    .

    post;
    close;
        end;
    form1中的查询显示操作
    with ADOQuery1 do
    begin
    close;
    with sql do
    begin
    clear;
    Add('Select * from ModifyRecordTable where ProjectName='''+ProjectName+''' order by FileNumber')
    end;
    open;
    ADOCount:=ADOQuery1.RecordCount;
    if ADOCount>0 then
    begin
    //showmessage(inttostr(ADOCount));
    for i:=1 to ADOQuery1.RecordCount do
    begin
    .
    .
    .
    .
    end;
    end;
    close;
    end;
      

  7.   

    是啊
    close/open是很变态哦
    insert后调用post;
    然后再查询!
      

  8.   

    谢谢大家,问题解决了,还是用的 close 和open 
    也不知道怎么解决的!!给分