Практическая
работа «Редактирование данных»
Cоздать
в Access базу данных. В базе создать таблицу, состоящую из двух полей: oz,
fio.
Создать
новый проект в Delphi
7. На форму установить компоненты согласно рис.1
Pис.1
Подключить
базу.
Затем
в свойстве компонента TDBGrid раскрыть свойство Options и в подствойстве
dgEditing установить False, а в подсвойстве dgRowSelect установить True.
dgEditing - запрещает редактирование в самой таблице, а dgRowSelect - этим свойством
выделяется вся строка в таблице. На главную форму приложения установить
следующие компоненты
Далее
на кнопку «Добавить» написать следующий код
procedure
TForm1.Button1Click(Sender: TObject);
begin
try
if
(Trim(Edit1.Text)='') or (Trim(Edit2.Text)='') then
begin
exit;
end;
ADOQuery1.Insert;
ADOQuery1.FieldByName('fio').AsString:=Edit1.Text;
ADOQuery1.FieldByName('oz').AsInteger:=StrToInt(Edit2.Text);
Edit1.Clear;
Edit2.Clear;
except
on
e:Exception do
end;
end;
Здесь самоe главное — это Insert. Это
означает, что мы вставляем новую строку в нашу таблицу. FieldByName -
указываем в какое поле мы вставляем информацию и AsType - необходимо
указать тип наших данных, которые мы вставляем.
На кнопку «Удалить» написать следующий код
procedure
TForm1.Button2Click(Sender: TObject);
begin
try
if
Application.MessageBox('Delete?','ADO',MB_YESNO)=IDYES then
begin
ADOQuery1.Delete;
end;
except
on
e:Exception do
end;
end;
С помощью метода Delete мы удаляем запись из таблицы
на которой стоит указатель.
На кнопку «Редактировать» написать следующий код
procedure
TForm1.Button3Click(Sender: TObject);
begin
try
ADOQuery1.Edit;
ADOQuery1.FieldByName('fio').AsString:=Edit1.Text;
ADOQuery1.FieldByName('oz').AsInteger:=StrToInt(Edit2.Text);
except
on
e:Exception do
end;
end;
Метод Edit ставит текущую строку в режим
редактирования.
На событие DBGrid - OnCellClick написать следующий код
procedure
TForm1.DBGrid1CellClick(Column: TColumn);
begin
try
Edit1.Text:=ADOQuery1.FieldByName('fio').AsString;
Edit2.Text:=IntToStr(ADOQuery1.FieldByName('oz').AsInteger);
except
on
e:Exception do
end;
end;
Пользователь будет видеть какие данные там раньше
находились, до редактирования.
На кнопку «Вниз» написать следующий код
ADOQuery1.Last;
Метод Last означает, что мы переместимся на
последнюю запись нашей таблицы.
На кнопку «Обновить» написать следующий код
ADOQuery1.Refresh;
Метод First означает, что мы перейдем на первую запись
в нашей таблице.
На кнопку «Далее» написать следующий код
ADOQuery1.Next;
Метод Next означает, что мы будем проходить
последовательно по записям вниз.
На кнопку «Назад» написать следующий код
ADOQuery1.Prior;
Метод Prior означает, что мы будем проходиться
последовательно по записям нашей таблицы вверх.
Далее после редактирования, добавления данных нам
необходимо их сохранить. Для кнопки «Сохранить» на событие OnClick написать
следующий код
procedure TForm1.Button9Click(Sender: TObject);
begin
try
ADOQuery1.Active:=True;
ADOQuery1.Post;
except
on
e:Exception do
end;
end;
Метод Post сохраняет все измененные данные в нашей
таблице.
Далее идут кнопки с небольшими запросами.
На кнопке «Вывести всех с оценками 5» по событию OnClick написать следующий код
procedure
TForm1.Button10Click(Sender: TObject);
begin
try
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT
* FROM Student WHERE oz=5');
ADOQuery1.Active:=True;
except
on
e:Exception do
end;
end;
Здесь обычный запрос с условиемю. Условие задается с
помощью конструкции Where. Здесь мы и указываем какие записи выводить. Метод
Clear - очищает все что было в SQL, а ADD - добавляет текст SQL.
Далее на кнопке «Вывести все фамилии, в которых
присуствует Иван» написать следующий код
procedure
TForm1.Button11Click(Sender: TObject);
begin
try
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT
* FROM Student WHERE fio LIKE ''%Иван%''');
ADOQuery1.Active:=True;
except
on
e:Exception do
end;
end;
Для того чтобы вывести все записи нашей таблицы нужно написать
следующий код
procedure
TForm1.Button12Click(Sender: TObject);
begin
try
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT
* FROM Student');
ADOQuery1.Active:=True;
except
on
e:Exception do
end;
end;
Во
вкладке ADO есть компонент TADOTable, который работает по такому же принципу
как и TADOQuery, но в TADOTable нельзя формировать SQL-запросы.
Для
закрытия приложения создайте кнопку «Выход»
Для
выгрузки проекта из оперативной памяти для кнопки «Выход», размещенной на форме
пропишите следующий код Application.Terminate.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.