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但只有一个表的记录被编辑。

+0

错误信息说的是什么? – Heinzi 2010-11-28 12:14:42

+0

@Heinzi,对不起,我应该这样做了,我编辑了这个问题来输入确切的错误信息。 – jjb 2010-11-28 12:51:23

显然,您的记录集的数据源是从多个表中返回数据的SQL。是的,一次只能更新一张表是正常的。如果要在单个原子步骤中更新多个表中的值(以便其他客户端不能读取“中间值”,其中一个表被更改但另一个表未更改),则需要use a transaction