IV. Подведение итогов

Лабораторная работа № 16

Дисциплина: Базы данных и системы управления базами данных.

Группа: ПО305, ПО309

Специальность: Программное обеспечение информационных технологий

Тема: Изучение основных приемов работы с наборами данных: открытие и закрытие набора данных, программный доступ к записям, навигация по набору данных.

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

Программные средства: операционная система Windows, СУБД Delphi.

  1. Актуализация опорных знаний.

1. Охарактеризовать компоненты TADOTable(вкладка ADO)

2. Перечислить основные методы этих компонентов для работы с наборами данных

3. Перечислить основные методы этих компонентов для осуществления навигации по набору данных.

 

II. Ход работы.

1. Изучить пример создания приложения для работы с БД.

a) Создать базу данных BD в среде SQL Server Management Studio, в ней же создать таблицу Magazin (содержит информацию о научных журналах) со следующей структурой:

Название поля Значение поля Название поля в БД Тип поля в БД
Код Целое, обязательное для заполнения, первичный ключ, автоинкремент Kod Integer, not null, identity(1,1), primary key
Название журнала Текстовое Name_magaz Varchar(30) not null
Издательство Текстовое Publish Varchar(15)
Цена Числовой Cena Float not null

 

b) Создать приложение для изучения основных приемов работы с наборами данных: открытие и закрытие набора данных, программный доступ к записям, навигация по набору данных.

 

Компонент ADOConnection1 подключить к БД BD, все остальное происходит через приложение, используя код программы.

 

Листинг кода программы приведен ниже:

unit Unit1;

…………………

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

DataSource1: TDataSource;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

Panel1: TPanel;

Label7: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

ComboBox1: TComboBox;

procedure FormCreate(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure DataSource1DataChange(Sender: TObject; Field: TField);

………………….

 

procedure TForm1.FormCreate(Sender: TObject);

begin

form1.DataSource1.AutoEdit:=false;

//Формирование списка издательств

form1.ComboBox1.Items.Clear;

form1.ComboBox1.Items.Add('БелПрод');

form1.ComboBox1.Items.Add('Просвещение');

form1.ComboBox1.Items.Add('София');

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

//Если набор данных пуст, то удаление записей запрещено

If adotable1.RecordCount=0 then exit;

 

if messagedlg('Удалить запись?',mtconfirmation,[mbyes,mbno],0) <>mryes then exit;

label7.Font.Color:=clred;

label7.Caption:='УДАЛЕНИЕ ЗАПИСИ';

adotable1.Delete;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

//Запрос на подтверждение перехода в режим вставки

if messagedlg('Добавить запись?',mtconfirmation,[mbyes,mbno],0) <>mryes then

abort;

adotable1.Insert;

label7.Font.Color:=clred;

label7.Caption:='ВСТАВКА ЗАПИСИ';

if edit1.CanFocus then edit1.SetFocus;

edit1.Text:=''; edit2.Text:='';

combobox1.Text:='';

end;

 

procedure TForm1.Button4Click(Sender: TObject);

var value:integer;

begin

//Запрос на подтверждение введенных значений

 

if (edit1.Text <> '') and (edit2.Text <> '') and (combobox1.Text<>'') then begin

adotable1.FieldByName('Name_magaz').AsString:=edit1.Text;

adotable1.FieldByName('Publish').AsString:=combobox1.Text;

 

if trystrtoint (edit2.Text,value) then

adotable1.FieldByName('cena').AsInteger:=strtoint(edit2.Text)

else adotable1.FieldByName('cena').AsInteger:=0;

 

adotable1.Post;

label7.Font.Color:=clred;

label7.Caption:='ПРИМЕНИТЬ';

 

end

else begin

showmessage('Проверьте правильность введенных данных');

exit;

end;

end;

 

procedure TForm1.N3Click(Sender: TObject);

//процедура открытия НД

begin

adotable1.Connection:=adoconnection1;

adotable1.TableName:='Magazin';

adotable1.Active:=true;

datasource1.DataSet:=adotable1;

dbgrid1.DataSource:=datasource1;

end;

 

procedure TForm1.N4Click(Sender: TObject);

//процедура закрытия НД

begin

adotable1.Active:=false;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

adotable1.Edit;

label7.Font.Color:=clred;

label7.Caption:= 'РЕДАКТИРОВАНИЕ ЗАПИСИ';

end;

 

procedure TForm1.N2Click(Sender: TObject);

//Метод Close закрывает форму. Если закрываемая форма главная форма программы,

//то завершается работа всей программы.

begin

close;

end;

 

procedure TForm1.BitBtn2Click(Sender: TObject);

//процедура перехода на предыдущую запись

begin

adotable1.prior;

end;

 

procedure TForm1.BitBtn1Click(Sender: TObject);

//процедура перехода на следующую запись

begin

adotable1.Next;

end;

 

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);

//Метод State – указывает текущее состояние набора данных, связанного с источником данных

// dsbrowse - НД находится в состоянии просмотра

begin

if datasource1.State in [dsbrowse] then begin

edit1.Text:= adotable1.FieldByName('Name_magaz').AsString;

edit2.Text:= inttostr(adotable1.FieldByName('cena').AsInteger);

combobox1.Text:= adotable1.FieldByName('Publish').AsString;

end;

end;

end.

 

III. Выполнение лабораторной работы:

 

  1. Реализовать приложение в среде Delphi для работы с таблицей и для демонстрации основных приемов работы с наборами данных.
  2. Доработать приложение с целью проверки правильности нажатия кнопок.
  3. Выводить на экран количество записей в таблице.
  4. Добавить в таблицу поле Количество экземпляров и доработать приложение для расчета Стоимости журнала.

 

Оформите отчет о проделанной работе, в котором должно присутствовать:

· Титульный лист, содержащий название учебного заведения, номер лабораторной работы, название дисциплины, название темы, номер группы и фамилию выполнившего лабораторную работу, номер варианта, фамилию преподавателя, принимающего защиту, город, год;

· Цель работы;

· Листинги приложения и скриншоты формы;

· Результаты отладки приложения.

 

 

IV. Подведение итогов.

V. Домашнее задание: Повторить тему “ Проектирование реляционных баз данных с использованием нормализации ”

Используемая литература: Голицына О.Л., Максимов Н. В., Попов И.И. «Базы данных», c.164-186

 

Критерии оценки деятельности учащегося.

Зачет Учащийся выполняет большую часть практических действий, связанных с обработкой информации; в знакомой ситуации по образцу; допускает несущественные ошибки, устраняемые самостоятельно и с помощью педагога; применяет знания и умения для решения аналогичных практических задач в знакомой ситуации. Выполнен и предоставлен преподавателю на проверку отчет о лабораторной работе.
Незачет Учащийся выполнил меньшую половину задания лабораторной работы. Учащийся различает объекты, понятия, связанные с компьютерной обработкой информации; выполняет отдельные практические действия по обработке информации на компьютере в соответствии с представленной инструкцией; допускает существенные ошибки, устраняемые с помощью педагога. Не оформлен или не предоставлен преподавателю на проверку отчет о лабораторной работе.

 

Задание лабораторной работы составил преподаватель: Цыганок О.Ч.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: