Public Class Form1 |
|
Dim StrCon1 As String = "Data Source=localhost;Initial Catalog=TESTDB;Integrated Security=True" |
|
|
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load |
|
|
End Sub |
|
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click |
|
'同じ接続文字列を使い、2つのコネクションObjectを使い、2つのテーブルを更新する |
'コネクションはシリアルに、OPEN - CLOSE |
|
|
Dim con1 As New System.Data.SqlClient.SqlConnection(StrCon1) |
Dim con2 As New System.Data.SqlClient.SqlConnection(StrCon1) |
|
Dim cmd1 As New System.Data.SqlClient.SqlCommand |
cmd1.CommandText = "INSERT INTO Table_1 ([F2]) VALUES('" & DateTime.Now.ToString & "')" |
Dim cmd2 As New System.Data.SqlClient.SqlCommand |
cmd2.CommandText = "INSERT INTO Table_2 ([F1]) VALUES('" & DateTime.Now.ToString & "')" |
|
Try |
Using TScope As New System.Transactions.TransactionScope |
|
Using con1 |
|
con1.Open() |
|
cmd1.Connection = con1 |
cmd1.ExecuteNonQuery() |
|
End Using |
Console.WriteLine("END1") |
|
Using con2 |
|
con2.Open() |
|
cmd2.Connection = con2 |
cmd2.ExecuteNonQuery() |
|
End Using |
|
Console.WriteLine("END2") |
|
End Using |
|
|
Catch ex As Exception |
MessageBox.Show(ex.Message) |
|
Finally |
If con1.State = ConnectionState.Open Then con1.Close() |
If con2.State = ConnectionState.Open Then con1.Close() |
End Try |
|
|
End Sub |
End Class |
|