Delphi - это просто. Урок 8.11.6: Групповое удаление данных из таблицы средствами SQL. |
Автор megabax | |||||||
17.07.2011 г. | |||||||
Delphi - это просто. Урок 8.11.6: Программируем создание и печать накладных.Часть 6. Групповое удаление данных из таблицы средствами SQL.Исходники к уроку вы можете скачать здесь. Это последний урок из серии "Delphi - это просто!", публикуемый в бесплатном разделе. Начиная со следующего, публикация уроков будет продолжена в платном разделе. В бесплатном же разделе, возможно, иногда будут публиковать некоторые статьи, посвященные основам программирования на Delphi. Сегодня мы добавим к нашем журналу накладных две кнопочки: "Добавить" и "Удалить". Помните на прошлом уроке мы добавляли и удаляли строки из накладной? Теперь это же будем делать с целыми документами. Казалось бы, чего сложно, берем тот же алгоритм и применяем его к документу. А нет! В прошлый раз мы удаляли из базы данных только один объект: строку документа. А теперь нам надо по кнопочке "Удалить" кильнуть как сам документ, так и все его строки, которые у нас хранятся в другой таблицы. При чем удалить нам надо только строки данного документа, не затронув записи других документов. А вот с добавлением все обстоит куда проще: алгоритм тот же самый, что и в прошлый раз. И так, открываем исходники, созданные на прошлом уроке. Если их у вас нет, скачайте их здесь. На форму TfrmDocs добавляем кнопочки и компонент TTable. Называем его tbDocs и связываем с таблицей DOCS.DB*: Этот компонент TTable нужен нам для добавления документов. А вот для удаления нам нужен TQuery. Так же добавим его к форме из панели компонентов*: Кидаем его на форму, присваиваем имя qDelete и начинаем программировать. Для начала давайте, как и в прошлый раз, оформим отдельную процедуру RefreshTable:
Про то, что ее надо объявить в описании класса формы я уже не говорю - и так понятно. Разумеется, переделываем по этому поводу TfrmDocs.btnEditClick:
А теперь займемся кнопочками. Кнопка "добавить", как я и сказал, ничего сложно, почти полностью повторяем строки из прошлого урока:
А вот с кнопочкой "Удалить" тут уже по интереснее, при помощи компонента TQuery посылам два запроса: на удаление строк накладной и самой накладной:
Тут тоже все предельно просто: при помощи компонента TQuery посылаем сначала запрос
который удалит из таблицы TABLPARTS строки документа а затем посылаем второй запрос на удаление уже самого документа:
Теперь тестируем нашу программу: Как мы узнаем, действительно ли при нажатии на кнопочку "Удалить" удаляться из базы в том числе и строки документов? В Delphi мы могли воспользоваться специальной утилитой для просмотра базы данных. В Turbo Delphi такого нет. Ничего страшного. Напишите ее сами, воспользовавшись материалом урока "Delphi. Урок 8.4. Базы данных: пишем форму просмотра баз данных.". Исходники к уроку вы можете скачать здесь. Скриншоты, помеченные знаком* , являются цитатами и иллюстрациями программного продукта "Turbo Delphi", авторское право на который принадлежит фирме "Borland Delphi".
|
|||||||
Последнее обновление ( 06.11.2011 г. ) |
« След. | Пред. » |
---|