1,我用ADOQUERY綁定的DBGRID,但我在修改DBGRID時切出現以下問題。Project dmm.exe raised exception class EOleException with message '索引鍵資料行咨訊不足或不正確,太多資料列被更新所影響' .Process stopped.Use step or Run to continue.請問是不是數據表的問題或什麼其它的問題。應該如何配搭?
2,用ADOQUERY直接綁定DBGRID,它會將數據直接寫到SQLSERVER中。有沒有哪位達人提供更好的方法?

解决方案 »

  1.   

    第一个应该是数据表本身的问题
    第二个嘛,不是很懂你的意思。你把dbgrid设置成只读,是不是就不会修改到数据库了?
      

  2.   

    因為好像ADOQUERY它的數據一寫就直接對SQLSERVER操作。
    我要如何做到新增,撒消呢?
      

  3.   

    用一个DateSource控件来连接二者,这中方法非常好,有利于你处理程序和数据界面的分离,即使以后想换个界面也不用更改太多的程序
      

  4.   

    1. 你的表中应该有完全相同的记录。加多一个唯一列就行了。
    2. 设置ADOQUERY1.LockType:=ltBatchOptimistic;缓存更新,只有发出 Adoquery1.UpdateBatch()才会保存到数据库
      

  5.   

    第一个问题应该是你的数据中存在重复记录,以至于编辑时,sql数据库认不出你需要编辑的到底是
    哪一条记录。第二个问题,如果你只修改dbgrid,不adoquery.post即提交的话,应该不会修改到数据库中吧?
    因为adoquery数据集保存在内存中的。