解决方案 »

  1.   

    你的Query的SQL语句中包含自动递增字段,即ID
      

  2.   

    感谢回复,我的ADOQUERY只有select * from myview
      

  3.   

    你用的是Delphi的哪个版本?如果是7.0,请安装Update 1,不然,会有一些BUG。
      

  4.   

    myview 连接另外两个基本表和一些视图,myview中包含两个基本表的主键,我要更新的是其中一个基本表的非主键的值,所以从视图可更新条件来讲应该是可以的,在查询分析器里执行更新操作也确实可以,只是在DELPHI里确不能正常执行,而且在点击界面出错的同时,我也在SQL管理器中查看了该进程的最后执行的TSQL命令,却发现DELPHI根本没有向数据库发送任何命令,所以我认为此异常是由DELPHI自己判断并抛出的,与SQL无关。
      

  5.   

    楼主还是把完整的VIEW代码和你的QUERY的代码写清楚吧出现这个错误信息,一般都是主键未赋值另外,这个错误信息的意思是:不能确定当前视图的记录与原始表的记录的对应关系。
    你的视图是否含统计,是否能与原始表的记录一一对应DELPHI的POST与标准的SQL语句的执行是有区别的,具体有什么区别,我也不清楚
      

  6.   

    问题找到了,是myview中用到的某个不太有作用的,只是用来显示一列信息的视图有group操作,而且是嵌套了好几层的一个视图,想想DELPHI也真是死板,认死了有聚合就不给更新了,而在查询分析器里就可以,不过也奇怪,我把那个GROUP拿到myview里来重写一遍就可以了,
    感谢大家