Функции элементов окна удаления пациентов.

Описание окна удаления пациента.

Форма содержит следующие элементы:

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