問題標題可能看起來有點模糊。我將在這裏解釋它。如何刪除在另一個表中引用的行?
所以,我有兩個表: 1)事件 2)聯繫
事件表具有聯繫表引用的外鍵(使用ContactID)。 因此,當我刪除聯繫人時,我必須先刪除正在使用contactID被刪除的事件行,以避免任何衝突。
但我不想那樣。實際上,我使用ContactID來獲取ContactName和ContactNumber,同時在GridView中顯示事件詳細信息以及事件表中的其他列。
這就是我不希望事件被刪除的原因我只想爲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就好了。但是當我嘗試在GridView中獲取事件信息並在兩個表上應用連接時,我沒有將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