如果我在SQL Server中设置了字段的默认值,那么当我从客户端通过ADO连接并更新表的时候,偶尔会出现无法提交的错误,请问为什么?我把默认值去掉就正常的,请问还有什么好的解决办法,除了在客户端用代码控制填入原来的默认值。

解决方案 »

  1.   

    record changed by another 的典型错误, 原因是记录哈在更新时 update ... where field=old_value...., UpdateMode 是 WhereAll 时是最安全的, 所有记录老值都被用于定位原始记录, 你这时客户机是 null, 服务器又没通知加了 default 值在客户机的 Field 属性中有 DefaultExpression, 这个加上你的 default 值就好了, 没办法, 笨d嘛另种方法就是不用 WhereAll, 改用 WhereKeyOnly