Контрольная работа: Особенности проектирования баз данных
select * from BOOKS_LIBRARY;
то выполнится запрос, определённый в этой процедуре.
Листинг процедуры – обработчика события нажатие на кнопку «Вывести результат запроса»:
procedure TForm1.Button10Click(Sender: TObject);
var i:integer;
begin
DataModule2.IBQuery1.Active:=False;
DataModule2.IBQuery1.SQL.Clear;
for i:=0 to Memo1.Lines.Count do
begin
DataModule2.IBQuery1.SQL.Append(Memo1.Lines[i]);
end;
DataModule2.IBQuery1.Active:=True;
Form10.Show;
end;
Для хранимой процедуры с входными параметрами предварительно нужно указать значения этих параметров, поэтому вызов хранимой процедуры BOOKS_LIST_PERIOD организован отдельно. Листинг процедуры, выполняющей вызов этой процедуры в программе:
procedure TForm1.Button9Click(Sender: TObject);
begin
DataModule2.IBQuery1.SQL.Clear;
DataModule2.IBQuery1.SQL.Add('select * from BOOKS_LIST_PERIOD(' +#39+MaskEdit1.Text+#39+','+#39+MaskEdit2.Text+#39+');');
DataModule2.IBQuery1.Active:=true;
Form9.Show;
end;
Здесь при помощи процедуры Add добавляется запись к свойству SQL компонента IBQuery1 (предварительно оно очищается при помощи процедуры Clear). MaskEdit1.Text и MaskEdit2.Text – значения полей ввода значений входных параметров, #39 – ASCII код одинарной кавычки, кавычки нужны для заключения в них значений входных параметров хранимой процедуры в SQL запросе. Затем активируется компонент IBQuery1 и отображается форма вывода результата хранимой процедуры.
Список литературы
1. Ковязин С., Востриков С. Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/ Firebird/ Yaffil. – М.: КУДИЦ – ОБРАЗ, 2005. – 496 с.
2. Хомоненко А.Д., Гофман В.Э. Работа с базами данных в Delphi. – СПб.: БХВ – Петербург, 2005. – 640с.
3. Кондзюба С.П., Громов В.Н. Delphi 6. Базы данных и приложения: Лекции и упражнения. – Киев: ДиаСофт, 2001. – 576 с.
4. http://www.ibase.ru/devinfo/ibfaq.htm
5. http://www.piter.com/lib/978527200003/sql7.phtml?fil=Ch12
6. http://www.codenet.ru/progr/delphi/stat/SQL-Delphi.php