我用D7+SQLSERVER2000+Midas,做了一个对单表查询修改的程序.
查询,添加都没有问题,但居然不能修改.所有修改的错误都是Record not found or changed by another user.
更神奇的是,新添加的记录可以修改(用SQLServer添加或我的程序添加都可以),
但表里面原有的记录都不能修改.(数据库应该没有问题,SQLServer可以修改表中任何记录).
不知道这是什么原因???

解决方案 »

  1.   

    我觉的你的问题应该是 “新添加的记录马上修改后会出错,查询后才能修改”
    答案应该是因为你数据表里有默认值,新添加的时候客户端的默认值没有取过来,
    但是数据库里已经有了,所以当你提交数据库的时候就会出现
    Record not found or changed by another user。
    当你重新查询一遍后,再去修改就可以了,因为你重新查时把默认值什么的都取过来了。
    所以可以提交到数据库。
      

  2.   

    多谢大家!
    suny_2001(小鱼儿):
       我的问题不是你理解的那样:新添加的记录,马上修改没有问题!无论重新查询多少次,原来表中的记录就是无法修改,只有新添加的可以修改.否则我也不会说和别人的不一样了.我的表有一个自增长字段,作为表的记录ID,他设不设置成主键都有这错误,怪.
      

  3.   

    具体原因不太清楚,不过你可以试试在服务端的ADODataSet的AfterOpen事件中,把ID字段的ProviderFlags设置为[]
      

  4.   

    我的ID字段的ProviderFlags是[pfInWhere],其他字段的是[pfInUpdate].
    都有这样的错误,不明白啊!