一个Access添加数据后刷新的问题!(30分)

  • 主题发起人 主题发起人 新来的菜鸟
  • 开始时间 开始时间

新来的菜鸟

Unregistered / Unconfirmed
GUEST, unregistred user!
我用了两个ADOQuery控件,一个是ADOQuery1和ADOQuery2!ADOQuery1是用来添加数据的(Access数据库),ADOQuery2连接DBGridEh1用来浏览数据的<br><br>当我添加一条数据的时候马上刷新但不能马上显示出新记录要等大概5秒后再刷新一次才能显示出新记录这是为何(我听说是Access保存的时候有个缓冲的过程,但不知该如何解决),该如何解决,请各位大哥帮帮忙解决一下谢谢!<br>以下是添加后马上刷新的代码<br>ADOQuery1.Close;<br>ADOQuery1.SQL.Clear;<br>ADOQuery1.SQL.Add('INSERT INTO msg(msg,ip,name,portname) VALUES('''+trim(mone)+''','''+trim(ip)+''','''+trim(username)+''','+trim(portname)+')');<br>ADOQuery1.ExecSQL;<br><br>form9.ADOQuery2.Close;<br>form9.ClientDataSet1.Close;<br>form9.ADOQuery2.Open;<br>form9.ClientDataSet1.Open;
 
form9.ClientDataSet1是什么来的?<br><br>直接用TADOQuery不行吗?<br>应该直接用TADOQuery.requery()就可以了
 
浏览数据是用ADOQuery2 连 DataSetProvider1 再连 ClientDataSet1 再连 DataSource1 最后连DBGrid1!我做的是一个假三层的东西,我用单个ADOQuery直接连DataSource1也试过,当添加完一笔数据后马上close,open,不能马上显示出新记录,要等大概4或5秒后再close,open这样才能显示出新记录,这是为何呢!麻烦大哥们帮想想解决的办法,小弟万分感谢!
 
数据库太大,或机器太慢吗?
 
不是,里面就十几笔数据,应该是Access数据库添加一条记录以后会有一个缓冲的时间,你们也可以试试,用两个ADOQuery,一个添加数据,另一个连接上一个DBGrid1,当用第一个添加一条数据后马上close,open看看DBGrid1会不会看得见新记录!麻烦各位帮想想办法,谢谢
 
没人会吗?各位帮帮忙!谢谢
 
这系统的全文检索怎么没有 了!
 
没有办法,换数据库吧,有人也遇到过了,是access不支持多线程操作,想办法同步一下.<br>你可以试试 post ,execsql 后立即 close query ,并 connect.active := false; 要求立即保存.
 
to bsense <br>connect.active := false 是啥意思?请告知,谢谢!
 
关闭连接 是 ado语法,不会不知道吧
 
多人接受答案了。
 
后退
顶部