你是不是用的DBEDIT?DBGRID一般只显示数据,而编缉最好不用GRID

解决方案 »

  1.   

    ADOQuery的locktype设置为ltBatchOptimistic缓存更新模式
    上下移到就不会保存,除非以
    命令updatebatch提交
    cancelbatch取消
      

  2.   

    回复人: masterjames(三月街)   回复人: bigben2008(ben)
     我的程序里面DBEdit和DBGrid都有。可是我的题目是主从表啊。 主从表一般都是1对多的关系,相信做过进销存的人都知道吧,或多或少都要在DBGrid(从表,多条记录)里面输入数据。难道用不着?回复人: yat5460(姚小杰) 
    看了很多例子,包括李老大的书几乎是ADO做的。不过我会考虑用这个的。谢谢你的提醒。回复人: drift1981(一包香烟,一把吉他,浪迹天涯) 
    你说的这个我试过了,这样是不会保存,但是在明细表中又会出现
    当你新增一条主表的记录,而没有post.(还在缓冲区)接着去新增明细,当增加第二笔明细时,第一笔在dbgrid里就没看到了.这也不是用户所希望看到的.
    我想把这些问题全都解决而不是其中之一啊。谢谢回复人的见解。如果你们有什么好的例子的话,麻烦发给小弟一份。很急。
      

  3.   

    问题1解决办法:
    把ADOQuery的locktype属性设置为ltBatchOptimistic,也即缓存更新模式,上下移到就不会保存,除非以命令updatebatch(相当于post)提交cancelbatch(相当于cancel)取消。
    问题2解决办法:
    如果明细是用DBGrid显示,这个时候把ADOQuery的locktype属性设置为默认的ltOptimistic,当DBGrid中的记录移动时就会自动保存。
    问题3解决办法与2差不多。不过后面两种解决方法不太理想,用户没有取消的机会
    呵呵,只知道这么多,更好的办法大侠们知道,小的学习中,帮你UP