DOBON.NETプログラミング掲示板過去ログ
トランザクション制御について
題名: トランザクション制御について
著者: Taka
URL:
http://www.m-net.biz
日時: 2003/10/03 11:47:59
ID: 835
この記事の返信元:
(なし)
この記事への返信:
[846]
Re[1]: トランザクション制御について
ピラルク
2003/10/03 21:33:05
ツリーを表示
分類:[.NET]
環境:Windows2000SP4 VisualBasic.Net Access2000
Error_Check()
If bl_Error = True Then
Exit Sub
End If
Sql = "INSERT INTO・・・・・・・・・・・
'/*トランザクション開始*/
TR_Estimate = CN_Estimate.BeginTransaction()
'/*SQL文実行*/
CM_Estimate.Transaction = TR_Estimate
Try
CM_Estimate = CN_Estimate.CreateCommand
CM_Estimate.CommandText = Sql
CM_Estimate.ExecuteNonQuery() ← この行でエラー
TR_Estimate.Commit()
Catch system As System.Exception
MessageBox.Show(system, ErrorTitle, MessageBoxButtons.OK,
MessageBoxIcon.Error)
TR_Estimate.Rollback()
Exit Sub
End Try
現在、VisualBasic.NetとAccess2000にてC/Sシステムを構築しています。
上記コーディングでトランザクション制御を行いたいのですが、
←の個所でエラーがでます。MSDNを確認したのですが、いまいち分かりませんでし
た。
どなたかご存知のかたご教授願います。
よろしくお願いします。
ちなみに、トランザクション制御を行わないように変更すると、
うまく動きます。データも登録されます。
ご教授願います。
エラーメッセージを記載していなかったので記載します。
'System.InvalidOperationException' のハンドルされていない例外が
system.data.dll で発生しました。
追加情報 : Execute は、コマンドに割り当てられた接続が保留状態であるローカル
のトランザクションにあるとき、トランザクション オブジェクトを持つコマンドが
必要です。コマンドのトランザクション プロパティがまで初期化されていません。
上記エラーが出力されました。
どなたかご存知の方、ご教授願います。
題名: Re[1]: トランザクション制御について
著者: ピラルク
日時: 2003/10/03 21:33:05
ID: 846
この記事の返信元:
[835]
トランザクション制御について
Taka
2003/10/03 11:47:59
この記事への返信:
[848]
Re[2]: トランザクション制御について
Taka
2003/10/04 9:06:56
[解決]
ツリーを表示
こんばんは、Takaさん。ピラルクです。
> '/*SQL文実行*/
> CM_Estimate.Transaction = TR_Estimate
> Try
> CM_Estimate = CN_Estimate.CreateCommand
が、
'/*SQL文実行*/
Try
CM_Estimate = CN_Estimate.CreateCommand
CM_Estimate.Transaction = TR_Estimate
と順がおかしいだけでは?
題名: Re[2]: トランザクション制御について
著者: Taka
URL:
http://www.m-net.biz
日時: 2003/10/04 9:06:56
ID: 848
この記事の返信元:
[846]
Re[1]: トランザクション制御について
ピラルク
2003/10/03 21:33:05
この記事への返信:
(なし)
ツリーを表示
おはようございます。
解決しました。ありがとうございました。
■No846に返信(ピラルクさんの記事)
> こんばんは、Takaさん。ピラルクです。
>
>>'/*SQL文実行*/
>>CM_Estimate.Transaction = TR_Estimate
>>Try
>>CM_Estimate = CN_Estimate.CreateCommand
>
> が、
>
> '/*SQL文実行*/
> Try
> CM_Estimate = CN_Estimate.CreateCommand
> CM_Estimate.Transaction = TR_Estimate
>
> と順がおかしいだけでは?
>
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
環境:Windows2000SP4 VisualBasic.Net Access2000
Error_Check()
If bl_Error = True Then
Exit Sub
End If
Sql = "INSERT INTO・・・・・・・・・・・
'/*トランザクション開始*/
TR_Estimate = CN_Estimate.BeginTransaction()
'/*SQL文実行*/
CM_Estimate.Transaction = TR_Estimate
Try
CM_Estimate = CN_Estimate.CreateCommand
CM_Estimate.CommandText = Sql
CM_Estimate.ExecuteNonQuery() ← この行でエラー
TR_Estimate.Commit()
Catch system As System.Exception
MessageBox.Show(system, ErrorTitle, MessageBoxButtons.OK,
MessageBoxIcon.Error)
TR_Estimate.Rollback()
Exit Sub
End Try
現在、VisualBasic.NetとAccess2000にてC/Sシステムを構築しています。
上記コーディングでトランザクション制御を行いたいのですが、
←の個所でエラーがでます。MSDNを確認したのですが、いまいち分かりませんでし
た。
どなたかご存知のかたご教授願います。
よろしくお願いします。
ちなみに、トランザクション制御を行わないように変更すると、
うまく動きます。データも登録されます。
ご教授願います。
エラーメッセージを記載していなかったので記載します。
'System.InvalidOperationException' のハンドルされていない例外が
system.data.dll で発生しました。
追加情報 : Execute は、コマンドに割り当てられた接続が保留状態であるローカル
のトランザクションにあるとき、トランザクション オブジェクトを持つコマンドが
必要です。コマンドのトランザクション プロパティがまで初期化されていません。
上記エラーが出力されました。
どなたかご存知の方、ご教授願います。