質問タイトルは少し曖昧に思えるかもしれません。ここで説明します。別のテーブルで参照されている行を削除するにはどうすればよいですか?
だから、私は2つのテーブルを持っている: 1)イベント 2)連絡先
イベントテーブルには、連絡先表から参照する外部キー(ContactID)を持っています。 私は連絡先を削除するとき、私は最初にコンフリクトを避けるために、削除されているcontactIDを使用しているイベント行を削除する必要があります。
しかし、私はそれを望んでいません。実際に私はContactIDを使用してContactNameとContactNumberを取得し、イベントの詳細をイベントテーブルの他の列と共にグリッドビューに表示します。
これは、イベントを削除したくない理由です。私は、ContactNameとContactNumberのNull値が必要です。
イベントテーブルでContactIDをNULLに設定しようとしました。コード:
string query0 = "Update Event SET [email protected] where ContactID='" + cntID + "'";
SqlCommand cmd0 = new SqlCommand(query0, conn);
cmd0.Parameters.AddWithValue("contact", DBNull.Value);
conn.Open();
cmd0.ExecuteNonQuery();
conn.Close();
これは、イベントテーブルのContactIDをNULLに設定します。しかし、私は、イベント情報を取得しようとグリッドビューと両方のテーブルに私は私がContactIdをNULLに設定イベントレコードを取得しないで結合を適用しようとすると。 これは、イベント情報を取得するためのクエリです:
SELECT Event.ID, Event.StartDate, Event.Title, Contact.Name, Contact.Cell, Event.EventType, Event.Confirmed, Event.Comments
FROM Event
INNER JOIN Contact ON Event.ContactID = Contact.ID
これを回避するには、何ですか?親切に私を助け、正しい方向に私を導く。
このクエリはSQL Server Management Studioで正常に動作しますが、結果はWebインターフェイスに反映されません。 ContactIDがNULLの行はまだ表示されません。私は間違って何をしていますか? – EL323
私は恐怖を感じています。別の質問として掲示する価値があるかもしれません。 –
大丈夫です。します。ありがとう – EL323