错误提示:‘无法为更新定位行’。请大家讨论如何解决;1、表已设主键。
2、表用的是行提交方式。
2、不要告诉我用close,再open的方式;

解决方案 »

  1.   

    那你就REFLESH一下..呵呵..
    其实我不知道你的具体情况..因为出错的类型是什么你都没有说啊..
      

  2.   

    你將sql中的表設置一個索引就行了
      

  3.   

    d6,好象是post后后台数据库发生改变,而dbgrid中未更新,再修改便会出错啊。
      

  4.   

    Ado的CursorLoacation设置为crUseServer
      

  5.   

    Ado的CursorLoacation设置为crUseServer
      

  6.   

    1,主键是否设置正确
    2,数据表是否有触发器,查看触发器的内容
    3,你用的是DBGrid吗?如果不是请用DBGrid试试
      

  7.   

    数据感知控件是和你select出来的DataSet绑定的~如:ADOTable,ADOQuery
    如果你的DataSet变化,则数据感知控件变化。
    但是如果是你的物理表发生变化,而且这个变化不是由你的数据感知控件绑定的DataSet发生的。则数据感知控件并不会变化。简单来说,你的DBGrid联的是一个ADOTABLE
    你的ADOTable联的是一个ACCESS的数据库中的表。
    如果你添加删除记录是通过ADOTable进行的,那dbGrid就会跟着变化。
    但是如果你打开了access,直接去操作表,dbgrid并不会变化。
      

  8.   

    建议使用同一个ADOTable连接数据库中的某一个表。
    不要用多个ADOTable连接数据库中的一个表。
    这样当一个ADOTable修改数据库后。另一个如果不重新close,open就会出错~
      

  9.   

    表中只要有默认值,则adoatble在保存后必须重新关闭并打开,才可以进行操作,否则肯定会出错,和关联没关,没直接操作表,也设有主键,adotable也是最新!!!!!!!!
      

  10.   

    数据显示控件的事,用Delphi自带的控件
      

  11.   

    另外:
    可以写代码ADOTable的
    OnNewRecord
    begin
      字段:=xxx (字段为有默认值的字段)
    end;