VB.NET 中 SqlTransaction 的使用

时间:2010-03-09 11:59:53  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:或改变。      要定义一个事务,需要使用Begin tran命令,在这一命令之后的任何语句都将被认为是事务的一部分。命令Commit用来完成事务,并使事务对数据库所作的修改成为永久的。Rollback命令用来取消一个事务,并还原事务对数据库所作的修改。      下面是一个SQL事务的例子:      ...
  正文:事务处理是由以一个单一的逻辑单位完成的一系列操作,它可以由一系列的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

"VB.NET 中 SqlTransaction 的使用"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/13160.html


关键字:

关于《VB.NET 中 SqlTransaction 的使用》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td