执行完  
with  DataModule1.ADOQuery9  do  
       begin  
           append;  
           fieldbyname('数字').asinteger:=mSelNum;  
           fieldbyname('名').asstring:=lname;  
           post;  
       end;  
后关闭程序,再打开时,recordcount却为0  
 
注:DataModule1.ADOQuery9  为:select  *  from  table1;  
有两三个  ADOQuery指向同一数据库文件(表不同)  
 
可能是因为什么原因

解决方案 »

  1.   

    可能是recordcount不好用,ADO好像经常有这样的问题
    你 用IsEmpty试试看,有没有记录;
      

  2.   

    如果还是没有,你看看数据库里面有没有数据;
    还有就是的的ADO的打开模式,是不是弄成了缓存模式了
      

  3.   

    用这段代码试试。
    with  DataModule1.ADOQuery9  do  
           begin  
               append;  
               Edit;
               fieldbyname('数字').asinteger:=mSelNum;  
               fieldbyname('名').asstring:=lname;  
               post;  
           end;
      

  4.   

    该是使用了batchoptimistic方式打开吧?这种方式要执行batchupdate()才能存回数据库的