2015-10-19 47 views
0

所以我有兩個表:SQL刪除加入ado.net

enter image description here

enter image description here

,我想從Kategoria-Adres,其中Kategoria-AdresID_Adres是一樣的刪除記錄像ID_AdresAdres當我從列表框中選擇一個項目。

string delete_string1 = "DELETE FROM Kategoria-Adres INNER JOIN Adres ON 
Kategoria-Adres.ID_Adres = Adres.ID_Adres WHERE Adres.Adres LIKE " 
+ listBox1_Selected_Item + " AND Adres.ID_Adres = Kategoria-Adres.ID_Adres"; 

我試過這個,但它不適用於我。

回答

1

它看起來像這個問題是在您的查詢。

像這樣的東西應該工作:

DELETE FROM Kategoria-Adres 
INNER JOIN [Adres] ON [Kategoria-Adres].[ID_Adres] = [Adres].[ID_Adres] 
WHERE [Adres].[Adres] LIKE '%" + listbox1.SelectedValue + "%' AND [Adres].[ID_Adres] = [Kategoria-Adres].[ID_Adres] 

作爲一個側面說明,你應該包括你的C#和ADO.Net代碼在未來櫃面你錯過了從那裏的東西,和錯誤代碼。

+0

我正在嘗試這個,這是一個有用的answear,但現在唯一的問題是我得到的錯誤:「關鍵字INNER附近的語法錯誤」。我在c的sql server中檢查這個。 – Marox

+0

嘗試刪除頂部行中包含的括號。我編輯了答案來反映這一點。 – Paul

+0

嗯,它工作時,我做了「刪除k從Kategoria-Adres AS k」。不知道爲什麼。無論如何,非常感謝你的幫助! – Marox

0

你LIKE子句缺少%

+0

我在看我的代碼,我想我現在想念LIKE'「'',但%?我從列表框中選擇項目,並將其放入選擇更改事件的字符串中,因此我有我想在sql代碼中使用的字符串,並刪除另一個表中的記錄,但具有相同的ID,如字符串的ID名稱。 – Marox

+0

在這行代碼上放置了一個斷點,並向我們展示了字符串構建後的樣子。 – bilpor