DAO来的.mdb,ADO到.MDF比较
问题描述:
此代码编辑基于连接表的记录在DAO工作/的.mdb数据库DAO来的.mdb,ADO到.MDF比较
RS.Edit
RS.fields("fieldA").value = 0 'in table A
RS.fields("fieldB").value = 0 ' in table B
RS.Update
的代码转化为结结实实一个SQL Server数据库,但是失败带有错误信息:
运行时错误'-2147467259'(80004005)': 无法插入或更新多个表中的列。
但是看起来,如果它被改变,像这样的工作:
RS.fields("fieldA").value = 0 'in table A
RS.Update
RS.fields("fieldB").value = 0 ' in table B
RS.Update
这是做的事情与SQL Server正常方式,还是有疑难杂症吧。 我问,因为当试图找到一个解决方案(在我把额外的更新语句之前)我改变记录集类型batchoptimistic,我没有错误messge但只有一个表的记录被编辑。
答
显然,您的记录集的数据源是从多个表中返回数据的SQL。是的,一次只能更新一张表是正常的。如果要在单个原子步骤中更新多个表中的值(以便其他客户端不能读取“中间值”,其中一个表被更改但另一个表未更改),则需要use a transaction。
错误信息说的是什么? – Heinzi 2010-11-28 12:14:42
@Heinzi,对不起,我应该这样做了,我编辑了这个问题来输入确切的错误信息。 – jjb 2010-11-28 12:51:23