База данных

Автор работы: Пользователь скрыл имя, 24 Мая 2010 в 18:26, Не определен

Описание работы

Работа проведенная в Делфи
Само задание:
Учет движения продуктов по складу горюче-смазочных материалов. Составить базу данных, полями которой являются: шифр продукта, наименование продукта, объём, признак прибытие/убытие, дата, наименование (фамилия) потребителя/поставщика номер счёта потребителя/поставщика, адрес, телефон и др. Вывести динамику поступления-убытия каждого конкретного продукта, а также общий объём движения продуктов на складе ГСМ (сколько прибыло и убыло за текущий месяц).

Файлы: 1 файл

бд.doc

— 478.50 Кб (Скачать файл)

      Table1.Append; \\ метод, добавляющий новую запись в БД

      Table1.DeleteRecords(arCurrent); \\ удаление записи, на которой стоит курсор текущей записи

      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.Text;

         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.Lines);

      Query1.ExecSQL;

    end;  

    Сохраните все операции и запустите приложение с различными видами запросов на выборку, на добавление, на удаление, на обновление.

Информация о работе База данных