自认为较难的问题,看看多少时间可以解决,大家帮忙
Delphi中使用TDataSetProvider和TClientDataSet协同工作,使用了一个内存中的表TClientDataSet可以非常好的实现前台的工作,中间零散的操作都可以保存在内存表中,等到工作基本结束,使用一个保存命令(界面上给用户的)通过事务一次性将所有的修改保存进远程的数据库,这样大大减少联系数据库的次数,提高了系统的效率,本人一直是这么做的,感觉非常好。
但是最近发现了一个比较的问题,那就是自增字段的存在,当为一个包含自增字段的表添加了数据,内存表中将不会对自增字段添加值,至少不会与将来保存到远程数据库以后的由数据库产生的值一致,难道这种表增加了新的数据就必须立刻保存到远程数据库吗?不保存就不能获得这个自增字段的ID了?立刻保存很大程度上破坏了上边说的使用TDataSetProvider和TClientDataSet协同工作带来的好处。
大家来帮忙啊,只要是合理的解决方法,或者告诉我没有办法必须保存,只要有个结论,我都将高分送上。