怎样在ADO.NET中处理乐观并发错误

ZDNet软件频道 时间:2003-03-14 作者:BUILDER.COM |  我要评论()
本文关键词:
尽管Data Adapter配置向导生成了检查最优并发错误的代码,但它自己却并不处理错误。如果你想通过智能处理错误。这有两种主要的方法来实现,我将通过使用Data Adapter配置向导创建的一个示例程序来分析它们。
本文译自Builder.com 在数据库加锁术语中,最优并发的意思是:程序假定正在编辑的记录不会被其他事件所改变。我在上一篇文章中详细地探究了这个概念,并介绍了ADO.NET是怎样通过Data Adapter配置向导在Data Adapter层次上自动支持这种加锁方法的。

尽管Data Adapter配置向导生成了检查最优并发错误的代码,但它自己却并不处理错误。如果有一个最优并发错误发生,它只是通过抛出一个异常来结束程序。你可以添加一个Try…Catch块来处理真正的异常,但是也许你想通过智能处理错误来带给用户最好的体验。这有两种主要的方法来实现,我将通过使用Data Adapter配置向导创建的一个示例程序来分析它们。

创建一个示例程序

要创建实例程序,启动Visual Studio.NET,建立一个Visual Basic.NET Windows程序。向窗体上添加一个DataGrid控件和三个按钮。按照表A来设定按钮的属性:

表A

控件

Name

Text

Button1

cmdFill

填写

Button2

cmdRowUpdated

使用RowUpdated更新

Button3

cmdHasErrors

使用HasErrors更新

示例程序按钮属性设定

接下来,拖放一个SqlDataAdapter组件到窗体中。Data Adapter配置向导会自动运行。使用它连接到示例数据库Northwind。选择“使用SQL语句”选项,输入SQL语句SELECT * FROM Customers,并关闭向导。


没有使用SQL Server?
这个示例程序假设你有权访问SQL Server。如果没有,使用OleDbDataAdapter来代替SqlDataAdapter并连接到一个Access数据库也一样。

从“数据”菜单中选择“生成数据集”选项。如果这一项是变灰不能使用的,检查一下窗体下方的组件托盘中SqlDataAdapter1对象是否被选中。将数据集命名为dsCustomers,并确保选定并将它添加到设计器中。一旦有了一个数据集,点击DataGrid控件并把它的DataSource属性设置为DsCustomers1.Customers

最后,双击“填写”按钮并添加如下代码:

Private Sub cmdFill_Click(ByVal sender As System.Object, _

 ByVal e As System.EventArgs) Handles cmdFill.Click

 SqlDataAdapter1.Fill(DsCustomers1)

End Sub


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134