首页 > 解决方案 > 通过链接服务器查询时如何执行无错误事务?

问题描述

我有一个同时执行 3 个以上查询的 vb.net 应用程序。特别是INSERT查询。

代码:

Sub PerformSave()
  Using cmd as new SqlCommand(query1,conn)
     cmd.ExecuteNonQuery()
  End Using

  Using cmd as new SqlCommand(query2,conn)
     cmd.ExecuteNonQuery()
  End Using

  Using cmd as new SqlCommand(query3,conn)
     cmd.ExecuteNonQuery()
  End Using
End Sub

最困扰我的是,我注意到在第一个查询成功执行后,互联网连接丢失,其余交易失败。我想要的只是如果第一个查询失败,其余的也应该失败,原因是所有数据都相互连接但存储在不同的表中。

标签: sql-servervb.net

解决方案


你必须在这里使用交易。您可以将所有代码包含在单个事务中。当您的应用程序在提交之前失去与数据库的连接时,任何仍在运行的事务都将回滚并终止。请参阅以下链接以了解有关事务的更多信息 https://docs.microsoft.com/en-us/sql/t-sql/language-elements/transactions-transact-sql?view=sql-server-ver15


推荐阅读