Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2017, 13:26   #1
Lina1
Новичок
Джуниор
 
Регистрация: 10.04.2017
Сообщений: 2
По умолчанию Удаление строки в таблице DBGrid

Задача такая, пользователь вводит в 2 DbEdit информацию, после чего должна удаляться полностью строчка. Если удалять по одному DbEdit , то все получается, а вот как сделать чтобы удалял по двум DbEdit ,я не знаю
я делала так:


S:= 'Delete from BOLEZHI where ID_Preparata and BOLEZN = ';
S:= S + '''' +DbEdit2.Text + ''',''' + DbEdit9.Text + '''';


DataModule1.BOLEZN.ACTIVE := FALSE;
DataModule1.BOLEZN.SQL.CLEAR;
DataModule1.BOLEZN.SQL.ADD(S);
DataModule1.BOLEZN.ExecSQL;

DataModule1.BOLEZN.ACTIVE := FALSE;
DataModule1.BOLEZN.SQL.CLEAR;
DataModule1.BOLEZN.SQL.ADD('Select * from BOLEZHI');
DataModule1.BOLEZN.ACTIVE := TRUE;



вылетает ошибка, не знаю что делать

Последний раз редактировалось Lina1; 10.04.2017 в 13:30.
Lina1 вне форума Ответить с цитированием
Старый 10.04.2017, 13:47   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Lina1 Посмотреть сообщение
S:= 'Delete from BOLEZHI where ID_Preparata and BOLEZN = ';
S:= S + '''' +DbEdit2.Text + ''',''' + DbEdit9.Text + '''';
неверный синтаксис SQL команды.

правильный:
Код:
Delete from BOLEZHI where ID_Preparata = Чему-То and BOLEZN = Чему-То
да, ещё два замечания.
1) не экономьте на датасетах (вместо использования одного BOLEZN, используйте отдельно один TQuery для отображения данных, другой - для удаления.

2) для передачи параметров в запрос надёжнее (и чаще удобнее) использовать параметрический запрос ( в вашей случае это будет примерно так:
Код:
DataModule1.BOLEZN_Delete.SQL.ADD('DELETE from BOLEZHI where ID_Preparata = :pIdPrep and BOLEZN = :pBolezn');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.04.2017, 14:47   #3
Lina1
Новичок
Джуниор
 
Регистрация: 10.04.2017
Сообщений: 2
По умолчанию Спасибо за ответ!

Работает!
Lina1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление пустой строки в DBGrid squirel БД в Delphi 4 04.07.2013 12:11
Удаление выделенной строки из DBGrid Sinker БД в Delphi 9 20.05.2011 03:09
Удаление строки в таблице кнопкой Turistovik Microsoft Office Excel 6 25.10.2010 00:01
Удаление отступов в последней ячейке каждой строки в каждой таблице Busine2009 Microsoft Office Word 7 06.06.2009 12:27
Удаление строки из DBGrid XATAB БД в Delphi 3 10.03.2009 08:29