关于CachedUpdates的问题(100分)

  • 主题发起人 主题发起人 zh_sh
  • 开始时间 开始时间
Z

zh_sh

Unregistered / Unconfirmed
GUEST, unregistred user!
+(AutoIncrement)类型字段在表的CachedUpdates为True时,添加新记录Post
后,该记录不自动添加,必须要表执行ApplyUpdates和CommitUpdates操作才
会添加,但我在执行该操作(ApplyUpdates)前就需要用到这个字段(是另一个
表的MasterField),不知如何解决这个难题
 
不知道你想说什么!
 
难道我没说清楚吗?再说一遍吧,呵呵,
当表的CachedUpdates为False时,添加记录Post后,+(AutoIncrement)类型字段的
值会自动添加,但当表的CachedUpdates为True时,Post后,+(AutoIncrement)类
型字段的值是Null,必须要执行CommitUpdates操作才会自动添加,
问题:
该表的+(AutoIncrement)类型字段是我的另一张表的MasterField,对子表进行
操作时要用到这个字段的值,而在CommitUpdates前该字段值为Null,如何解决
 
完全正常。不过,既然这个表是主表,就应该先插入主表的值,然后再在子表中

使用该值。
 
问题就在这里,主表必须先插入值,但+(AutoIncrement)类型字段是由数据库
自己维护的,不能手工输入值,而当表的CachedUpdates为True,在CommitUpdates
操作前它没有值,但在子表又要用到它

 
我也遇到你这样的问题,我想可能是你数据库设计问题,子表的外键等于主表的
(AutoIncrement)类型字段。如果这样,建议你把子表外键换成能用程序维护的,
同时主表将(AutoIncrement)类型字段去掉。
否则的话,你恐怕就得主表CommitUpdates,然后子表再CommitUpdates……
 
接受答案了.
 
后退
顶部