本帖最后由 yunsuifeng2009 于 2013-05-18 10:53:13 编辑

解决方案 »

  1.   

    你这个问题应不是前端程序问题,而是出在数据库上,最大的可能是日志文件大小没有设成自动增长,而是限制了大小,造成了不能写事务日志而不能更新数据。你可以到企业管理器(SQL 2000)或SQL管理平台(SQL 2005)找到这个数据库,点右键属性,文件,找到日志文件,将“自动增长”勾上。
      

  2.   

    不应该是delphi 问题,估计是数据库端的限制我以前在datamoudle中放了很多ClientDataSet ,没有一点问题
      

  3.   


    网上关于这个问题,也有说是sql数据库导致的,我之前看了sql的设置,是自动增长的。所以我也很郁闷。
    谢谢大哥的回复。
      

  4.   


    现在看来放很多ClientDataSet 是没问题的,问题应该是其他东西引起的。我还在测试中。
    谢谢您的回复。
      

  5.   

    我觉得你可以先确定问题所在,是数据库问题还是BDE的问题或ClientDataSet的问题。直接在数据库插入、修改记录,看是否存在问题?如没问题。再在Delphi 改用ADO连接试下是否出问题?这样可以确定问题在哪块。
      

  6.   

    谢谢您支招。
    这个问题BDE没有出现过。是使用ClientDataSet出现的,插入、修改都没有问题包括post,但是只要一ClientDataSet1.ApplyUpdates(0)就出现这个提示。
    很是奇怪。
      

  7.   

    解决方法(不是很彻底,也不明白是什么原因):
    我试了很多,现在目前的情况是,如果from里面只有ClientDataSet就没有问题。如果有sqlquery控件就很难说了。有时候可以,有时候不可以。我也不知道什么原因。引用一个Data Module Unit里面的东西好像也可以。多了就不知道了。反正一句话,from里面只有ClientDataSet就没有问题,其他的数据控件不一定能和它共存。否则就会出现“由于超出容量限制,不能创建新事务”,我也不知道为什么,希望其他高手能讲一下。