Y
yybug
Unregistered / Unconfirmed
GUEST, unregistred user!
将一个query的cacheupdate和requestlive设为true,query的数据提交由updatesql来实现。下面的理解对不对?
当在dbgrid中加一条记录时,触发datasource的statechange进入dsinsert状态。
可我在DBnavigator上连续按4次insert,却发现触发了4次statechange.(我认为应该在insert状态不退出来,即一次statechange)。
添加纪录过程中,按cancel,又应该触发datasource的什么事件?
添加纪录后,点击别的记录或按post,在datasource中是否都是由insert状态转到brower状态,即一次statechange?
点击按钮,执行query.ApplyUpdates; 是否会触发query的onUpdateRecord事件?我在该事件里面写如下代码是否必要
UpdateSQl.DataSet:=Query;
UpdateSQl.Apply(UpdateKind);
UpdateAction:=uaApplied;
incData:=0;(incdata用于自动编号,因为query缓存了很多新纪录,我本想通过datasource计数进入dsinsert的次数,然后加上数据库中已有的记录数形成编号。最后在提交数据库时,对计数器incdata清零)。现在我发现执行query的ApplyUpdates根本不触发onUpdateRecord事件。
像自动编号这种功能,应该如何实现呢?(不想用数据库底层支持的)
当在dbgrid中加一条记录时,触发datasource的statechange进入dsinsert状态。
可我在DBnavigator上连续按4次insert,却发现触发了4次statechange.(我认为应该在insert状态不退出来,即一次statechange)。
添加纪录过程中,按cancel,又应该触发datasource的什么事件?
添加纪录后,点击别的记录或按post,在datasource中是否都是由insert状态转到brower状态,即一次statechange?
点击按钮,执行query.ApplyUpdates; 是否会触发query的onUpdateRecord事件?我在该事件里面写如下代码是否必要
UpdateSQl.DataSet:=Query;
UpdateSQl.Apply(UpdateKind);
UpdateAction:=uaApplied;
incData:=0;(incdata用于自动编号,因为query缓存了很多新纪录,我本想通过datasource计数进入dsinsert的次数,然后加上数据库中已有的记录数形成编号。最后在提交数据库时,对计数器incdata清零)。现在我发现执行query的ApplyUpdates根本不触发onUpdateRecord事件。
像自动编号这种功能,应该如何实现呢?(不想用数据库底层支持的)