SQL Serverで、ADO.NETを使用するローカルトランザクション(単一のデータソースに対するトランザクション)を説明します。
トランザクション処理
Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder()
builder.DataSource = ".\SQLEXPRESS"
builder.AttachDBFilename = "D:\DB\TestDB.mdf"
builder.IntegratedSecurity = True
builder.UserInstance = True
builder.MultipleActiveResultSets = True
Dim ConnectString As String = builder.ToString()
Using sqlConnect As New SqlConnection(ConnectString)
sqlConnect.Open()
'トランザクション処理を開始する
Dim tran As SqlClient.SqlTransaction = sqlConnect.BeginTransaction()
'コマンドをトランザクション処理に組み入れる
Dim command As SqlCommand = sqlConnect.CreateCommand()
command.Transaction = tran
Try
command.CommandText = "UPDATE Table_1 SET Item2 = 'A0001'"
command.ExecuteNonQuery()
'コミット処理
tran.Commit()
Catch ex As Exception
'ロールバック処理
tran.Rollback()
End Try
End Using