vb.net 如何加入事务

wx9288 2017-02-20 11:11:22
写了一段代码。想加入SQL事务
Dim sql_connect As String = "server=localhost;database=XXX;uid=XX;pwd=XXXXX"

Dim cnn As New SqlConnection (sql_connect)
cnn.Open()

DIM result As Integer
Dim insertsql As SqlCommand
insertsql = New SqlCommand("insert into A表 values(@A,@B)", cnn)
insertsql.Parameters.Add("@A", SqlDbType.Int)
insertsql.Parameters.Add("@B", SqlDbType.Int)

insertsql.Parameters("@A").Value = 1
insertsql.Parameters("@B"").Value = 2

result As Integer = insertsql.ExecuteNonQuery()

Dim search_command As String = "update B表 set A=1 WHERE B=C
Dim upsql As New SqlCommand(search_command, cnn)
result = result + upsql.ExecuteNonQuery() '----更新查询


想在此代码里加入SQL事务,该怎么加才有效,网上看了好多,似懂非懂








...全文
187 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2017-02-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wx9288 的回复:]经测试成功运行。[/Quote]
注意:回复时不要全文引用。
wx9288 2017-02-21
  • 打赏
  • 举报
回复
引用 4 楼 Tiger_Zhao 的回复:
        Dim sql_connect As String = "server=localhost;database=XXX;uid=XX;pwd=XXXXX"

        Dim cnn As New SqlConnection(sql_connect)
        cnn.Open()

        '启动事务'
        Dim trans As SqlTransaction = cnn.BeginTransaction()

        Dim result As Integer
        Dim insertsql As SqlCommand
        insertsql = New SqlCommand("insert into A表 values(@A,@B)", cnn, trans) '<- 关联事务'
        insertsql.Parameters.Add("@A", SqlDbType.Int)
        insertsql.Parameters.Add("@B", SqlDbType.Int)

        insertsql.Parameters("@A").Value = 1
        insertsql.Parameters("@B").Value = 2

        result = insertsql.ExecuteNonQuery()

        Dim search_command As String = "update  B表 set A=1 WHERE B=C"
        Dim upsql As New SqlCommand(search_command, cnn, trans) '<- 关联事务'
        result = result + upsql.ExecuteNonQuery()

        '递交事务'
        trans.Commit()
谢谢@Tiger_Zhao, 我 找了好久都找不到关于这种语法提交事务的。经测试成功运行。
Tiger_Zhao 2017-02-21
  • 打赏
  • 举报
回复
        Dim sql_connect As String = "server=localhost;database=XXX;uid=XX;pwd=XXXXX"

Dim cnn As New SqlConnection(sql_connect)
cnn.Open()

'启动事务'
Dim trans As SqlTransaction = cnn.BeginTransaction()

Dim result As Integer
Dim insertsql As SqlCommand
insertsql = New SqlCommand("insert into A表 values(@A,@B)", cnn, trans) '<- 关联事务'
insertsql.Parameters.Add("@A", SqlDbType.Int)
insertsql.Parameters.Add("@B", SqlDbType.Int)

insertsql.Parameters("@A").Value = 1
insertsql.Parameters("@B").Value = 2

result = insertsql.ExecuteNonQuery()

Dim search_command As String = "update B表 set A=1 WHERE B=C"
Dim upsql As New SqlCommand(search_command, cnn, trans) '<- 关联事务'
result = result + upsql.ExecuteNonQuery()

'递交事务'
trans.Commit()
wx9288 2017-02-21
  • 打赏
  • 举报
回复
如果要把事务加入到该代码 该如何加
EnForGrass 2017-02-21
  • 打赏
  • 举报
回复
SqlTransaction http://www.xuebuyuan.com/2192878.html http://blog.csdn.net/yuluows/article/details/7189913
threenewbee 2017-02-20
  • 打赏
  • 举报
回复
http://www.cnblogs.com/chinafine/archive/2010/02/27/1674759.html 语法改成vb的即可

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧