COMMITを繰り返すと、例外が発生してしまう
- 題名: COMMITを繰り返すと、例外が発生してしまう
- 著者: KYOU
- 日時: 2009/01/12 14:16:03
- ID: 23772
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: COMMITを繰り返すと、例外が発生してしまう
- 著者: きいよ
- 日時: 2009/01/12 14:58:34
- ID: 23773
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: COMMITを繰り返すと、例外が発生してしまう
- 著者: KYOU
- 日時: 2009/01/12 16:27:58
- ID: 23775
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
お世話になります。
以下のようにテーブルの作成・削除を連続で行うと、なぜか例外が起こります。
テーブルの作成を2つ書いた際も同じです。
恐らく私の考えが違っているのだと思いますが、commitを2回繰り返すといけないのでしょうか?
'テーブル作成
Try
strSQL = "CREATE TABLE Test_t ( projno decimal(3) NOT NULL,
pname varchar(5), budget decimal(7,2) DEFAULT 2000)"
command.Transaction = transaction
command.CommandText = strSQL
returnValue = command.ExecuteNonQuery()
If returnValue = 1 Then
MessageBox.Show("正常に更新されました。", "
FormBom.UpdateXSEIK", MessageBoxButtons.OK,
MessageBoxIcon.Information)
End If
transaction.Commit()
Catch ex As Exception
transaction.Rollback()
MessageBox.Show("システム例外が発生しました。" & vbCrLf &
ex.ToString, "FormBom.UpdateXSEIK",
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
'テーブル削除
Try
strSQL = "DROP TABLE Test_t "
command.Transaction = transaction
command.CommandText = strSQL
returnValue = command.ExecuteNonQuery()
If returnValue = 1 Then
MessageBox.Show("正常に削除されました。", "
FormBom.UpdateXSEIK", MessageBoxButtons.OK,
MessageBoxIcon.Information)
End If
transaction.Commit()
Catch ex As Exception
transaction.Rollback() <<< 例外が起こってここで止まります。
MessageBox.Show("システム例外が発生しました(削除)"
& vbCrLf & ex2.ToString, " FormBom.UpdateXSEIK",
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try