Автор работы: Пользователь скрыл имя, 24 Мая 2010 в 18:26, Не определен
Работа проведенная в Делфи
Само задание:
Учет движения продуктов по складу горюче-смазочных материалов. Составить базу данных, полями которой являются: шифр продукта, наименование продукта, объём, признак прибытие/убытие, дата, наименование (фамилия) потребителя/поставщика номер счёта потребителя/поставщика, адрес, телефон и др. Вывести динамику поступления-убытия каждого конкретного продукта, а также общий объём движения продуктов на складе ГСМ (сколько прибыло и убыло за текущий месяц).
Table1.Append; \\ метод, добавляющий новую запись в БД
Table1.DeleteRecords(
Table1.Post; \\ сохранение изменений в БД
Table1.Cancel; \\отмена действий пользователя
Для корректного удаления записи, можно предварительно уточнить требование у пользователя:
If (Application.MessageDlg (
“Действительно хотите удалить запись?”,
“Подтвердите удаление записи”,
MB_YESNO + MB_ICONQUESTION) = IDYES) then
Table1.Delete;
который
после положительного ответа на вопрос
программы удаляет текущую
5. Поиск данных.
Одна из важнейших для пользователя операций с БД – поиск записей по некоторому ключу. Для их применения таблица должна быть предварительно проиндексирована по этому полю.
В работе мы рассмотрим только фильтрацию записей (Filter для компонента Table)и применение запросов к БД при помощи компонента Query.
a) Компонент Table позволяет не только отображать, редактировать и упорядочивать данные, но и фильтровать записи по определенным критериям. Фильтрация задается свойствами Filter, Filtered и FilterOptions компонента Table. Для отображения отфильтрованных записей по вами заданному критерию, добавим на Form1 надпись и текстовой поле, установив предварительно их свойства Visible в состояние false. А пункту меню Фильтрация назначим функцию:
begin
Label1.Visible:=true;
Edit1.Visible:=true;
if (Edit1.Text<>’’) then begin
Table1.Filtered:=false;
Table1.Filter:=’group=’+Edit1.
Table1.Filtered:=true;
end else
ShowMessage("Укажите номер группы!!!");
end;
б) Основное свойство Query – SQL, имеющее тип Tstrings. Это список строк, содержащих запросы SQL. Создайте для этого новую форму (рис. 7) с модулем Unit2. Пропишите в unit ее заголовок (как мы это уже делали в л/р№2) и назначьте вызов для пункта меню SQL: Form2.Show;
Перенесите на форму компоненты Query1 (вместо Table1), DataSource1, DBGrid1 и соедините их обычной цепочкой: в DBGrid1 задайте свойство DataSource равным DataSource1, а в DataSource1 задайте свойство DataSet равным Query1. Компонент Query1 настройте на таблицу ozen. Для этого установите свойство DataBaseName на псевдоним qwerty, а в свойстве SQL напишите оператор: select * from ozen.
Рис. 7. Форма SQL-запросов к БД.
Чтобы вы могли самостоятельно формировать произвольные запросы, перенесите на форму обычное (не db) поле Memo и кнопку Выполнить, для которой можно задать функцию:
begin
if (Query1.Active=true) then Query1.Close;
Query1.SQL.Clear;
Query1.SQL.AddStrings(Memo1.
Query1.ExecSQL;
end;
Сохраните все операции и запустите приложение с различными видами запросов на выборку, на добавление, на удаление, на обновление.