|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.11.2011, 12:12 | #1 |
Регистрация: 15.08.2011
Сообщений: 6
|
sql запрос на удаление из связанных таблиц
Доброго времени суток,
Моя проблема в следующем - есть база данных в firebird, в ней несколько таблиц и к ним программа клиент на делфи. Возникла необходимость удаления массивов строк из базы по запросу - проблема моя в том что я не знаю как написать запрос на удаление если выборка идет из нескольких связанных таблиц... на данный момент момент есть : " SQL_2.Active := false; SQL_2.Close; SQL_2.SelectSQL.Clear; SQL_2.SelectSQL.Text := 'select t1.ul, t1.dom , t2.summa_itog, t2.id from Lics t1, invoice t2 where t1.lic = t2.lic and t1.ul = :ul and t1.dom between :dom_1 and :dom_2'; SQL_2.ParamByName('ul').AsString:= UL.Text; SQL_2.ParamByName('dom_1').AsString := DOM_1.Text; SQL_2.ParamByName('dom_2').AsString := DOM_2.Text; SQL_2.Active := true; ds.DataSet := SQL_2; grid.DataSource := DS; grid.Columns[0].FieldName:= SQL_2.FieldName(0); grid.Columns[1].FieldName:= SQL_2.FieldName(1); grid.Columns[2].FieldName:= SQL_2.FieldName(2); " и еще несколько подобных запросов выбирающих мне нужные строчки в дбгрид... как теперь силами самого делфи их удалить из базы? Прошуровал поиск на скорую руку ответа не нашел... если что то пропустил ткните ссылку плз. П.С. понимаю что из самого файрберда делается простейшей процедуркой, но обстоятельства таковы что нужно именно из делфи это делать заранее спасибо за ответы |
22.11.2011, 12:19 | #2 |
Регистрация: 15.08.2011
Сообщений: 6
|
пробывал вот так:
SQL_3.Active := false; SQL_3.Close; SQL_3.SelectSQL.Clear; ds.DataSet := SQL_3; SQL_3.SelectSQL.Text:='DELETE From INVOICE Where ID = :ID'; SQL_3.ParamByName('ID').Value := SQL_2.FieldValues['id']; SQL_3.Active := true; но тогда выбирается только 1й ID и все... |
22.11.2011, 12:37 | #3 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
либо циклом пробегатся по датасету SQL_2, и каждый раз
Код:
Код:
Последний раз редактировалось vovk; 23.11.2011 в 11:17. |
23.11.2011, 12:01 | #4 |
Регистрация: 15.08.2011
Сообщений: 6
|
Спасибо, запрос немного изменил... но направление верное - сейчас все работает. Не подумал почему то про вложенный запрос... вот что бывает когда начальство ставуит тупые условия)))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос из связанных таблиц: выбрать слово минимальной длины | Manonia | SQL, базы данных | 6 | 20.09.2010 06:00 |
SQL и Python - удаление/вставка таблиц и эл-ов, доступ к БД | Graf Xandr | Фриланс | 2 | 24.02.2010 01:52 |
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi | S_Yevgeniy | Помощь студентам | 1 | 27.10.2009 06:26 |
sql запрос на выборку записей из двух связанных таблиц | Люсьен | БД в Delphi | 9 | 20.04.2009 16:07 |
SQL запрос из двух таблиц.(сложный) | Miha87 | БД в Delphi | 5 | 10.11.2008 11:04 |