QuesTypeとQuesの2つのテーブルがあるとしましょう:-
QuesType
QuestypeID|QuesType |Active
------------------------------------
101 |QuesType1 |True
102 |QuesType2 |True
103 |XXInActiveXX |False
Ques
QuesID|Ques|Answer|QUesTypeID|Active
------------------------------------
1 |Ques1|Ans1 |101 |True
2 |Ques2|Ans2 |102 |True
3 |Ques3|Ans3 |101 |True
QuesTypeテーブルの場合:-QuesTypeIDは主キーです
Quesテーブルの場合:-QuesIDは主キーであり、QuesType IDは、QuesTypeテーブルからQuesTypeIDを参照する外部キーです。
QuesTypeテーブルからレコードを削除できなくなりました。Active=Falseを設定することによってのみQuesTypeを非アクティブにすることができます。Ques Tableとの外部キー関係のため、QuesTypesを完全に削除できません。したがって、列Active = falseを設定しただけで、それらのQuestypeは、バインドされたときにグリッドに表示されません。
私がやりたいのは、QuesTypeを完全に削除できるようにすることです。これで、Quesテーブルのどこにも使用されていない場合にのみ削除できますよね?
したがって、QuesTypeを完全に削除するには、これが私にできることだと思いました。-
QuesTypesを表示するグリッドには、アクティブ用のこのチェックボックスと削除用のボタンがあります。ユーザーがいくつかのQuesTypeを非アクティブにすると、OnCheckChanged()イベントが実行され、すべての質問を削除するコードが含まれると思いました。そのQuesTypeIDを使用しているQuesテーブル内。次に、QuesTypeグリッド上で、そのQuesTypeは非アクティブとして表示され、ユーザーはそれを完全に削除できます。
私は正しく考えていますか?
現在、DeleteQuesTypeストアドプロシージャで行っていることは次のとおりです。-
Active=falseの設定とQuesTye=の設定XXInactiveXXのような文字列
他に方法はありますか?
編集最初にユーザーにQuesTypeを非アクティブ化させ、非アクティブ化された場合にのみユーザーが完全に削除できるようにするなど、その方法でのみ実装したい場合はどうすればよいですか。それは正しい論理ですか?