- PR -

MYSQLのトランザクション処理うまくいけない

1
投稿者投稿内容
crow
ベテラン
会議室デビュー日: 2006/09/13
投稿数: 67
投稿日時: 2007-06-16 19:00
VS.net2005 VB.net
OS: XP Pro
DB:MYSQL5.0
ODBC3.51を利用して接続してるですが、以下のように

Public Shared Function Transaction(ByVal connectionString As String, ByVal quryStr() As String) As Boolean
Dim i As Integer

Dim tx As System.Data.Odbc.OdbcTransaction
Using connection1 As New OdbcConnection(connectionString)
connection1.Open()
tx = connection1.BeginTransaction()
Dim command As New OdbcCommand()
Try
command.Connection = connection1
command.Transaction = tx
For i = 0 To quryStr.Length - 1
command.CommandText = quryStr(i)
command.ExecuteNonQuery()
Next
tx.Commit()
Catch ex As Exception
tx.Rollback()
MsgBox(ex.Message & quryStr(i))
Return False
End Try

End Using
Return True
End Function
quryStr配列にあるquryStr(0),quryStr(1)...
全部正しくDBを更新できなければ、ROLLBACKしていただけるはずなのに、
何故かROLLBACKしてくれないんです。

如何したら、いいですか?宜しくお願いします
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-06-17 17:08
MySQLでロールバックできないのは、
ストレージエンジンがMyISAMになっているのでは?
1

スキルアップ/キャリアアップ(JOB@IT)