通过TADODataSet访问mdb数据库
在对DataSet当前记录修改后,Post,然后copy数据库作为一个存盘文件,
再打开存盘文件时,那条记录还是修改前的。
但是,单步调试的时候是对的,是不是缓存的问题?如何解决?
难道DataSet一定要Close?
在对DataSet当前记录修改后,Post,然后copy数据库作为一个存盘文件,
再打开存盘文件时,那条记录还是修改前的。
但是,单步调试的时候是对的,是不是缓存的问题?如何解决?
难道DataSet一定要Close?
如果以上两种都不是的话,你就在COPY文件前先打开看是否已经更新?如果没有,单步执行检查一下!
而是UpdateApply(-1)应该是这个,你试一下
最好还是用Update
存盘前调用一下DataSet.Refresh;
结果又是正确的,缺点是,与此绑定的datagrid会刷新一下,不够完美。
我已调试过,
当POST后,数据会立即保存到数据库中,不需在再关闭!
但如果你在程序中用Copy的方法保存备份,必须把数据连接全断开,不然“Copy”这个命令不能执行!
上述并不是数据保存的问题,而是copy命令没有执行成功的原因!
原因所在就是必须把数据集的连接全部断开,即设置Connected :=False
用Copy才可执行成功!
那相应的DataSet也就Close
与DataSet绑定的界面内容就空了,还要手动打开DataSet,界面要重新刷新,不是很不爽?
那相应的DataSet也就Close
与DataSet绑定的界面内容就空了,还要手动打开DataSet,界面要重新刷新,不是很不爽?------------------------------------------------------------------------------------
你可以用一个TempQuery来处理COPY
用copy的方法做备份,不关闭所有数据集,你没有办法备份成功!这是一定的!
除非你另外从新生成一个MDB文件!
copy是可以成功的,只不过如我所说,有些数据没有更新