- - PR -
SQLServerに対する.NET FrameworkのSqlCommandクラスのExecuteNonQueryメソッド
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-08 14:13
お知恵いただけないでしょうか。
.NET FrameworkのSqlCommandクラスのExecuteNonQueryメソッドを使用して、 SQLServerのテーブルにINSERTコマンドを実行しております。 その際、同テーブルにトリガを設定しているのですが、 ExecuteNonQueryメソッドはトリガの終了まで判断した上で、 処理を.Netに返しているのでしょうか。 ちなみに、 現状ExecuteNonQueryメソッドをFor〜Nextを回しているのですが、 例外が発生しております。 | ||||
|
投稿日時: 2008-04-08 18:12
さかもとと申します。
http://msdn2.microsoft.com/ja-jp/library/system.data.sqlclient.sqlcommand.executenonquery.aspx これですね。 >>現状ExecuteNonQueryメソッドをFor〜Nextを回しているのですが、 >>例外が発生しております。 これだけだと、トリガの終了判定が原因で例外が発生しているかどうかは分らないと思います。どのような例外なのでしょうか?for〜の1回目で例外?2回目で例外?など。 _________________ ------------------------------------------ 拝啓、さかもとと申します♪ | ||||
|
投稿日時: 2008-04-09 13:22
ありがとうございました。
私もちょうどそのページを参照しておりました。 For〜Nextに関しては、1回目で無いことは確かな状況です。 別で作成しているため、例外内容に関しては現状確認はできておりません。 ありがとうございました。 | ||||
|
投稿日時: 2008-04-09 14:34
.NET は関係ありません。が、結果としてはトリガーの終了まで判断した上で .NET に制御が戻ります。なぜかというと、トリガーが完了するまでトリガー発生元の INSERT も完了しないからです。 もしも、トリガーが失敗しても INSERT だけは成功させたいということであれば .NET ではなくデータベース設計として誤っていますから、トリガーではなく別の方法を模索する必要があります。 |
1