Функции элементов окна удаления пациентов.
Описание окна удаления пациента.
Форма содержит следующие элементы:
o 1 элемент редактирования (Edit);
o 1 элемент вывода информации (Label);
o 1 кнопка (Button) «Удалить», при нажатии на которую выполняется запрос на удаление.
Кнопка «Удалить». Выполняет команду удаления данных из таблицы. Для этой цели используются данные, содержащиеся в свойстве Text элемента Edit1. Код кнопки приведен ниже:
procedure TDelPacient.Button1Click(Sender: TObject);
begin
if Edit1.Text = '' then
begin
ShowMessage('Вы не ввели данные!');
end else
begin
Kart.ADOQuery1.SQL.Text:='execute spDelPacient '''+Edit1.Text+''' ';
Kart.ADOQuery1.ExecSQL;
DelPacient.Hide;
Kart.Show;
end;
end;
Код означает следующее: при нажатии на кнопку срабатывает условие (if). Если (по условию Edit1.Text = '', т.е. пустому значению) условие возвращает значение Правда (True), т.е. условие удовлетворяется, то выводится сообщение, информирующее пользователя о том, что в нужном поле не найдено данных. Если же условие возвращает значение False (Ложь), т.е. условие не удовлетворяется, то выполняется весь последующий код, а именно:
begin
Kart.ADOQuery1.SQL.Text:='execute spDelPacient '''+Edit1.Text+''' ';
Kart.ADOQuery1.ExecSQL;
DelPacient.Hide;
Kart.Show;
end;
Код означает следующее: при нажатии на кнопку в свойство SQL элемента ADOQuery1, находящегося на форме Kart, записывается текст команды. После записи выполняется записанная команда. После всех действий окно удаления скрывается (Hide), а главное окно модуля открывается (Show). В команде используется хранимая на сервере процедура spDelPacient, код которой приведен ниже:
ALTER PROCEDURE [dbo].[spDelPacient]
@del integer
AS
BEGIN
delete from Pacient where Polis = @del
END
В процедуре производится удаление (delete) из (from) таблицы Pacient по определенному критерию (where). В данном случае, в качестве условия, используется № полиса, так как имеет уникальный номер и не может совпадать у разных пациентов. Данные, содержащиеся в переменной @del присваиваются ей из свойства Text элемента редактирования Edit1.
Помимо прочего, при активации формы, для удобства, происходит очистка свойства Text элемента редактирования Edit1. Код приведен ниже:
procedure TDelPacient.FormActivate(Sender: TObject);
begin
Edit1.Clear;
end;
Возвращаемся на главную форму модуля «Электронная медицинская карта».
Кнопка «Обновить таблицу». Выполняет команду обновления данных в таблице. Эта же команда выполняется при активации и создании формы. Код кнопки приведен ниже:
procedure TKart.Button3Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('execute spSelectPacient');
ADOQuery1.Open;
end;
Код означает следующее: при нажатии на кнопку закрывается соединение через ADOQuery1. Далее очищаем данные свойства SQL элемента ADOQuery1 и добавляем в него текст запроса. После этого открываем соединение и получаем обновленные данные. Код хранимой процедуры spSelectPacient показан в описании действий при активации и открытии главной формы модуля.
Кнопка «Выйти». Выполняет команду выхода из программы. Код кнопки представлен ниже:
procedure TKart.Button5Click(Sender: TObject);
begin
Application.Terminate;
end;
Код означает следующее: при нажатии на кнопку происходит завершение (Terminate) приложения (Application).