步骤 6:结束更新(ADO 教程)

您所在的步骤...

?连接数据源。

 

?可选择创建表示 SQL 查询命令的对象。

 

?可选择在 SQL 命令中将值指定为变量参数。

 

?执行命令。如果命令以行返回,将行存储在存储对象中。

 

?可选择对数据进行定位、检查、操作和编辑。

 

?适当情况下,可以使用存储对象中的变更对数据源进行更新。可选择在事务处理中嵌入更新数据。

 

?在使用事务之后,可以接受或拒绝在事务中所做的更改。结束事务。

讨论

假设批更新结束时发生错误,如何解决将取决于错误的性质和严重性以及应用程序的逻辑关系。如果数据库是与其他用户共享的,典型的错误则是他人在您之前更改了数据字段,这种类型的错误称为“冲突”。ADO 将检测到这种请况并报告错误。

本教程中的该步骤分为两部分:如果不存在更新错误则“提交”事务,结束更新。

如果错误存在,它们会被错误处理例程捕获。可使用 adFilterConflictingRecords 常数对 Recordset 进行筛选,将冲突行显示出来。要纠正错误只需打印作者的姓和名(au_fnameau_lname),然后回卷事务,放弃成功的更新。由此结束更新。

...

conn.CommitTrans

...

On Error

rs.Filter = adFilterConflictingRecords

rs.MoveFirst

Do While Not rs.EOF

   Debug.Print "Conflict: Name: " & rs("au_fname") " " & rs("au_lname")

   rs.MoveNext

Loop

conn.Rollback

Resume Next

...

本教程到此结束。