打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
事务处理在vb.net中的应用2
事务处理是由以一个单一的逻辑单位完成的一系列操作,它可以由一系列的SQL语句、SELECT、INSERT、UPDATE、DELETE组成,如果在该单位包含的操作执行完毕后没有发生错误,那么它对数据库所作的改变就是永久的了。如果一旦有错误发生,它就不会对数据库作任何修改或改变。
要定义一个事务,需要使用Begin tran命令,在这一命令之后的任何语句都将被认为是事务的一部分。命令Commit用来完成事务,并使事务对数据库所作的修改成为永久的。Rollback命令用来取消一个事务,并还原事务对数据库所作的修改。
下面是一个SQL事务的例子:
[SQL SERVER7.0 or SQL SERVER2000]
  BEGIN TRAN
  INSERT INTO PRODUCT(PRODUCTID, PRODUCTNAME) VALUES("0001", "KEYBOARD")
  IF (@ERROR>0) ROLLBACK
  UPDATE PRODUCT SET PRICE=12 WHERE PRODUCTID= "0002"
  IF (@ERROR>0) ROLLBACK
  COMMIT
    RETURN
    ERRH:
        ROLLBACK

我们多数会将交易写在STORED PROCEDURE中,但是如果出现DATAGRID中的多数据更新,就需要用到.NET中的这个System.Data.SqlClient.SqlTransaction和Try...Catch...Finally...End Try来处理异常!下列代码是VB.NET 中 SqlTransaction 的使用
        Dim connectionString As String = "server=localhost;database=web;uid=sa;pwd="
        Dim conn As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(connectionString)
        Dim cmd() As System.Data.SqlClient.SqlCommand
        Dim trans As System.Data.SqlClient.SqlTransaction
        Dim i As Integer, k As Integer
        Dim SQL() As String
        k = 2
        SQL(0) = "update ..."
        SQL(1) = "update ..."
        SQL(2) = "update ..."

        trans = conn.BeginTransaction()
        For i = 0 To k
            cmd(i) = New System.Data.SqlClient.SqlCommand(SQL(i), conn)
            cmd(i).Transaction = trans
        Next
        Try
            For i = 0 To k
                cmd(i).ExecuteNonQuery()
            Next
            trans.Commit()
        Catch Ex As SqlException
            trans.Rollback()
        Finally
            conn.Close()
        End Try
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java,JavaBean 中使用JDBC方式进行事务处理
JTA 深度历险
SQL Server 事务相关的存储过程
Oracle与SQLServer事务处理的比较
Java 事务 API(JTA)
Java事务处理总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服