Тема: «добавление, редактирование и удаление записей» 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема: «добавление, редактирование и удаление записей»



Цель работы: изучить способы добавления, редактирования и удаления записей.

Теоретические сведения

Добавление записей

Организовать добавление новых записей в таблицу с помощью элемента TDBGrid довольно сложно. Это связано с тем, что в таблицах могут храниться значения ключей из других таблиц. Добавлять такие значения вручную, не зная, какому названию соответствует значение, бессмысленно.

В системе Delphi предусмотрена возможность связывания разных таблиц по ключевым полям, но она обычно используется на этапе просмотра и редактирования данных.

Добавление новых записей проще осуществлять в отдельных формах программы.

Для создания такой формы можно использовать следующие компоненты: Label, Edit, ComboBox, CheckBox, RadioButton, RadioGroup, ListBox и т.д.

Форма для заполнения таблицы «Рейсы» может выглядеть следующим образом:

Данные о маршруте берутся из таблицы «Маршрут», о модели самолета – из таблицы «Самолеты», о экипаже – из таблицы «Состав экипажа». Получается, если вводить эти сведения по кодам (ID данных полей), то обычный пользователь не сможет запомнить такое количество кодов. А открывать и работать одновременно с несколькими таблицами будет не удобно.

Для добавления данных в таблицу, связанную с несколькими, необходимо написать программный код, в котором можно программно определять ID полей связанных таблиц.

Процесс записи данных из полей формы в таблицу:

DataModule1.Table1.Insert – добавляет пустую запись в набор данных Table1;

DataModule1.Table1.Fields[1].AsString:= Edit1.Text – выбирается значение из поля формы;

DataModule1.Table1.Post – метод, который записывает изменения в БД.

Пример. Добавить в таблицу «Trip» новую запись о рейсе:

procedure TForm4.BitBtn2Click (Sender: TObject);

begin

DM.Trip.Insert;

DM.Trip.Fields[0].AsInteger:= StrToInt(LabeledEdit1.Text);

DM.Trip.Fields[1].AsInteger:= StrToInt(LabeledEdit2.Text);

DM.Trip.Fields[2].AsString:= LabeledEdit3.Text;

DM.Trip.Fields[3].AsString:= ComboBox4.Text;

DM.Trip.Fields[4].AsDateTime:= dateTimePicker1.Date;

DM.Trip.Fields[5].AsDateTime:= dateTimePicker2.Time;

DM.Trip.Fields[6].AsDateTime:= dateTimePicker3.Time;

if CheckBox1.Checked then

DM.Trip.Fields[7].AsString:= 'да'

else DM.Trip.Fields[7].AsString:= 'нет';

DM.Trip.Post;

end;

Изменение записей

Для модификации данных используется метод Edit:

DataModule1.Table1. Edit

Пример. Изменить запись о рейсе:

procedure TForm4.BitBtn3Click(Sender: TObject);

begin

DM.Trip.Edit;

DM.Trip.Fields[0].AsInteger:= StrToInt(LabeledEdit1.Text);

DM.Trip.Fields[1].AsInteger:= StrToInt(LabeledEdit2.Text);

DM.Trip.Fields[2].AsString:= LabeledEdit3.Text;

DM.Trip.Fields[3].AsString:= ComboBox4.Text;

DM.Trip.Fields[4].AsDateTime:= dateTimePicker1.Date;

DM.Trip.Fields[5].AsDateTime:= dateTimePicker2.Time;

DM.Trip.Fields[6].AsDateTime:= dateTimePicker3.Time;

if CheckBox1.Checked then

DM.Trip.Fields[7].AsString:= 'да'

else DM.Trip.Fields[7].AsString:= 'нет';

DM.Trip.Post;

end;

Удаление записей

Для удаления данных используется метод Delete:

DataModule1.Table1. Delete

Задание

1. Организовать добавление, редактирование и удаление данных с помощью контекстного меню.

2. Создать одну форму для добавления и модификации данных таблицы, связанной с несколькими (2-3).

2. Организовать удаление данных из БД.


Лабораторная работа 7 (2часа)

Тема: «Компонент TQuery»

Цель работы: изучить особенности компонента TQuery.

Теоретические сведения.

Элемент TQuery позволяет получать доступ к одной или более таблиц из базы данных, используя SQL-запросы. Также его можно использовать для работы с различными серверами баз данных (Sybase, SQL Server, Oracle, Informix, DB2, и InterBase), с локальными таблицами (Paradox, InterBase, dBASE, Access и FoxPro), а также БД, которые совместимы с ODBC. Компонент TQuery удобно использовать для одновременного доступа к строкам и столбцам нескольких таблиц.

Компонент TQuery может выполнять не более одного SQL-запроса одновременно. Синтаксис самого запроса зависит от используемой базы данных, которые в своем большинстве совместимы со стандартом SQL-92.

Пример.

Поместите на модуль данных элемент TQuery и DataSource. В свойстве SQL элемента TQuery напишите необходимый запрос.

Создайте новую форму и поместите на нее элемент TDBGrid. Для обеспечения вывода значений таблиц в размещенный на форме элемент DBGrid следует присвоить значение DataSource созданного запроса свойству DataSource.

Также можно организовать выполнение данного запроса по нажатию кнопки.

Для этого разместим на форме компонент TMemo и кнопку Button, при нажатию на которую будет совершаться отсылка запроса элементу TQuery. Для этого нужно добавить обработчик события OnClick и в него следующие строки:

procedure TForm32.Button1Click (Sender: TObject);

begin

dm.Q_Post.SQL:= memo1.Lines;

dm.Q_Post.Active:= true;

dm.Q_Post.Open;

end;

После написания текста запроса в поле Memo, по нажатию кнопки будет выполнен данный запрос.

Задание:

1. Продемонстрировать работу компонента TQuery.


Лабораторная работа №8 (2 часа)



Поделиться:


Последнее изменение этой страницы: 2019-12-15; просмотров: 122; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.233.72 (0.005 с.)