1

DeleteCommand私にとっては、私SqlDataSourceが信じている主キー/外部キーのためにいくつかの問題が発生しています。

削除コマンドは次のとおりです。

DeleteCommand="delete from jm_AccountWorkFlowSteps where id = @stepID;delete from jm_AccountWorkFlowProcedure where id = @workFlowProcedureID;DELETE FROM [JM_AccountWorkFlowDetail] WHERE [workID] = @workID"

このコードを SQL で実行すると、問題なく動作します。最初にプロシージャ テーブルが削除され、WorkFlowDetail 行を削除できるようになります。しかし、同じ SQL を DeleteCommand にプラグインすると、次のエラーが表示されます。

The DELETE statement conflicted with the REFERENCE constraint "FK_jm_AccountWorkFlowProcedure_jm_AccountWorkFlowProcedure". The conflict occurred in database "Collect2000", table "dbo.jm_AccountWorkFlowProcedure", column 'workID'.
The statement has been terminated.

これが SQL では期待どおりに機能するのに、DeleteCommand では機能しないのはなぜですか? どうすればそれを機能させることができますか?

Procedure テーブルには WorkFlowTable への外部キーがあるため、最初にこの行を削除しようとしているので、後で他のテーブル行を削除できます。

4

0 に答える 0