2015-10-19 5 views
0

Так у меня есть две таблицы:SQL Удалить с внутренним соединением ado.net

enter image description here

enter image description here

, и я хочу, чтобы удалить запись из Kategoria-Adres, где ID_Adres в Kategoria-Adres такой же, как и ID_Adres в Adres, когда я выбираю элемент из списка.

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

Я пытаюсь это сделать, и это полезный ответ, но единственное, что я сейчас вижу, это получить ошибку: «Неправильный синтаксис рядом с ключевым словом« INNER ». Я проверяю это на сервере sql ofc. – Marox

+0

Попробуйте удалить скобки, которые я включил в верхнюю строку. Я отредактировал ответ, чтобы отразить это. – Paul

+0

Хммм это сработало, когда я сделал «УДАЛИТЬ К ОТ Kategoria-Adres AS k». Не знаю, почему. В любом случае, спасибо вам большое за вашу помощь! – Marox

0

Ваш Как оговорка отсутствует %

+0

Я смотрю на свой код, и я думаю, что я пропустил LIKE «» «», но%? Я выбираю элемент из списка, и я помещаю его в строку в выбранном событии изменения, поэтому у меня есть строка, которую я хочу использовать в коде sql, и я удаляю запись в другой таблице, но с тем же идентификатором, что и идентификатор строки имя. – Marox

+0

положите точку останова на эту строку кода и покажите нам, как она выглядит после того, как строка была построена. – bilpor

Смежные вопросы