Студопедия — Лабораторная работа № 2
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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






Цель работы:

1. Изучить начальные этапы создания приложения для работы с базами данных в среде Delphi:

· ознакомить с компонентами доступа к БД: TTable, TDataSource;

· ознакомить с компонентами управления БД: TDBGrid, TDBNavigator.

2. Усвоить ввод и редактирование текста.

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

Приложение работы с базой данных должно содержать компоненты, обеспечивающие доступ к данным, возможность просмотра и редактирования содержимого полей. Компоненты доступа к данным находятся на вкладке Data Access и BDE палитры компонентов, а компоненты отображения данных — на вкладке Data Controls.

Основные компоненты доступа и управления к базам данных:

Компоненты доступа к базам данных:

TTable - обеспечивает взаимодействие с таблицей БД, т.е. компонент TTable указывает, откуда брать данные и какие поля будут составлять набор данных. Компонент TTable имеет следующие основные свойства:

· DatabaseName – база данных

· TableName - имя таблицы

· Active – активация таблицы (значение True активирует ее)

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

* псевдоним (псевдоним)

* путь для локальных БД

* путь и имя файла базы данных для Local InterBase

* локальный псевдоним, определенный через компонент TDatabase.

Свойство TableName определяет имя таблицы базы данных.

TDataSource - определяет связь между базой данных и компонентами управления данными, то есть компонент TDataSource является промежуточным звеном между компонентом Table1, соединенным с реальной БД и визуальными компонентами DBGrid1 и DBNavigator1, с помощью которых пользователь взаимодействует с таблицей.

В большинстве случаев, все, что нужно сделать с DataSource - это указать в свойстве DataSet соответствующий TTable. Затем, у визуального компонента вроде DBGrid или DBNavigator в свойстве DataSource указывается TDataSource, который используется в настоящее время.

Компоненты управления данными с палитры Data Contorls:

TDBGrid - отображает содержимое таблицы БД в виде сетки, в котором столбцы соответствуют полям, а строки записям таблицы.

Компонент имеет следующие свойства:

· Data Source – содержит ссылку на компонент типа TDataSource, служащий источником данных;

· Editor Mode – если содержит true, пользователь может редактировать ячейку после нажатия клавиши F2 или Enter. Игнорируется, если свойство Option включает значение goEditing или goAlwaysShowEditor;

· Option – определяет вид и поведение компонента;

o dgEditing – разрешает изменение набора данных;

o dgAlwaysShowEditor – автоматически переводит столбец в режим редактирования при его выделение;

o dgTitles – показывает заголовки столбцов;

o dgIndicator – показывает индикатор текущей строки в самом левом фиксированном столбце;

o dgColumnResize – разрешает пользователю вручную изменять ширину столбцов;

o dgColLines – показывает разделяющие вертикальные линии;

o dgRowLines – показывает разделяющие горизонтальные линии;

o dgTabs – разрешает переход от столбца к столбцу с помощью клавиши Tab;

o dgRowSelect – разрешает выделение цветом всей выбранной строки;

o dgAlwaysShowSelection – выделение текущей строки сохраняется, если компонент теряет фокус ввода;

o dgConfirmDelete – удаление строки должно подтверждаться;

o dgCancelOnExit – если пользователь вставил пустую строку и покинул ее, она не помещается в набор данных;

o dgMultiSelect – разрешает множественный выбор строк.

TDBNavigator - осуществляет перемещение и редактирование записей (вид и назначение кнопок указаны в пункте DBNavigator). С помощью свойства DataSource компонент связывается с нужным источником данных ТDataSource – это все, что необходимо для его нормальной работы. Свойство ConfirmDelete управляет отображением диалогового окна с просьбой подтвердить удаление записи (значение True этого свойства выводит окно).

Создание приложения:

1. Запустить Delphi.

2. В свойстве Caption изменить имя формы на Студенты.

3. Установить на форму компоненту TTable.

4. Определить следующие свойства компоненты Table1.

· определить псевдоним - выбрать в свойстве DatabaseName инспектора объектов псевдоним «Student ».

· задать имя таблицы - выбрать в свойстве TableName таблицу Student.

· активизировать таблицу - установить в свойстве Active значение true (это будет возможно после выполнения пункта 4).

5. Разместить на форму компоненту DataSource с закладки Data Access и в свойстве DataSet инспектора объектов выбрать компоненту Table1.

6. Расположить на форме компоненту DBGrid с закладки Data Controls и в свойстве DataSource выбрать DataSource1.

Если вы внесли несколько записей, то форма Студенты примет вид:

Редактор полей:

Для управления отображением данных таблицы используют специальный редактор полей - Editor Field.

Для вызова Editor Field следует:

  • Дважды щелкнуть по Table1.
  • Для открывшегося окна вызвать контекстное меню и выбрать пункт Add All Field, если необходимо добавить все поля таблицы.
  • Add Field для выбора отдельного поля.

Редактор полей имеет следующие свойства:

  • DisplayLabel задает имя полю;
  • DisplayWidth – определяет количество символов, которое будет выводится в поле;

Определим свойства для полей таблицы Student.db.

1. Выбрать в окне редактора полей таблицы поле SFio и в свойстве DisplayLabel инспектора объектов изменить SFio на ФИО. Выбрать свойство DisplayWidth и заменить размер на 35.

2. Так же поменять свойства других полей таблицы.

3. Для полей логического типа в свойстве DisplayValues можно написать варианты для значений True и False. В поле SSpec в этом свойстве написать «Математика;Физика» (без пробела, разделяя «;»). Получиться как показано на рисунке.

4. Если возникнет необходимость можно скрыть любое поле, выбрав его и в свойстве Visible инспектора объектов установив значение false.

После выполненных действий сетка DBGrid1 будет выглядеть так:

Ввод данных:

Компоненты для организации доступа к таблицам БД позволяют выполнять всевозможные операции с наборами данных: добавлять или удалять записи, перемещаться по ним. При этом следует иметь в виду, что в любой момент времени доступна для выполнения конкретных действий только одна запись, называемая текущей. В этой лабораторной работе рассматриваются наиболее часто используемые методы компоненты Table.

Основные методы для организации доступа компоненты Table:

  • Append – добавить новую запись в конец таблицы.
  • Delete – удалить текущую строку.
  • Edit – перейти в режим редактирования. После этого можно изменять значения полей.
  • Insert – вставить новую строку в таблицу.
  • Post – принять все изменения.
  • Refresh – обновить информацию о данных.
  • UpdateRecord – обновить текущую запись.

1. Откроем созданное приложение.

2. Разместим на форме три компоненты SpeedButton из палитры Additional. Одна из кнопок будет добавлять запись, другая – изменять данные в записи, третья – удалять. Назовем их соответственно.

3. Создадим новую форму, которая будет вызываться нажатием кнопки «Добавить». На форме расположены 4 компоненты Edit, компонент DateTimePicker с закладки Win32, компонент CheckBox и компонент RadioGroup.

4. Текст процедуры для события OnClick кнопки «Добавить» на форме Студенты:

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

Form2.ShowModal; //открывает форму «Добавление записи»

end;

5. Текст процедуры для события OnClick кнопки «ОК» на форме Добавление записи:

procedure TForm2.Button1Click(Sender: TObject);

begin

Form1.Table1.Insert;

Form1.Table1.FieldByName('SFio').Text:=Edit1.Text;

Form1.Table1.FieldByName('SOsn').Text:=Edit2.Text;

Form1.Table1.FieldByName('SNom').Text:=Edit3.Text;

Form1.Table1.FieldByName('SKurs').Text:=Edit4.Text;

Form1.Table1.FieldByName('SData').AsDateTime:=DateTimePicker1.Date;

if CheckBox1.Checked then

Form1.Table1.FieldByName('SStip').Text:='да'

else

Form1.Table1.FieldByName('SStip').Text:='нет';

//при нажатии на флажок полю SStip (Стипендия) передается

//значение True, в противном случае вводится передается

//значение False

case RadioGroup1.ItemIndex of

0: Form1.Table1.FieldByName('SSpec').Text:='Математика';

1: Form1.Table1.FieldByName('SSpec').Text:='Физика';

end;

if form1.Table1.Modified

then form1.Table1.Post;

close;

Комметарий: в строке Form1.Table1.Insert вызывается метод, который допускает вставку новой строки в таблицу, которая находится на форме «Студенты». Без вызова этого метода дальнейшая работа по вставке записи в таблицу невозможна. Запись Form1.Table1.FieldByName('SFio').Text:=Edit1.Text означает, что текст, который находится в Edit1 по нажатии кнопки будет перенесен в таблицу на форме «Студенты» в новую запись в текстовое поле ФИО. Остальные записи в процедуре работают аналогичным образом. Запись if form1.Table1.Modified then form1.Table1.Post сохраняет изменения в таблице. Close – закрывает форму «Добавление записи».

6. По нажатии кнопки Cancel осуществляется выход. То же и на форме «Редактирование записи».

7. Текст процедуры для события OnClick при нажатии клавиши «Удалить» на форме Студенты:

procedure TForm1.SpeedButton3Click(Sender: TObject);

begin

Table1.Delete //удаляет текущую запись в таблице

end;

Редактирование данных:

Компоненты, отражающие информацию, делятся на две категории – те, которые не связаны с таблицами БД, и компоненты, связанные с таблицами и обменивающиеся с ними информацией. В первую категорию входят обычные компоненты Delphi. Компоненты второй категории расположены на странице Data Controls. Почти каждая из них имеет аналог среди обычных компонент; основные отличия заключаются в том, что они могут работать с данными, хранящимися в БД. К этой группе относится компонента DBEdit, которая используется для ввода текстовой однострочной информации.

Чтобы компонент DBEdit видел данные из поля таблицы, следует указать в свойствах:

  • DataSource – источник данных;
  • DataField – поле для редактирования.

Этот компонент с заданными уже свойствами может появиться автоматически при перетаскивании имени поля из окна редактора полей.

1. Создадим новую форму: Редактирование записи.

2. В случае перетаскивания поля логического типа, на форме автоматически устанавливается компонента DBCheckBox, что не всегда удобно.

2.1. Установим на форму компоненту DBRadioGroup с закладки Data Control.

2.2. В свойстве DataSource укажем DataSource1.

2.3. В свойстве DataField укажем SSpec.

3. Текст процедуры для события OnClick при нажатии клавиши «Изменить» на форму Студенты:

begin

Form3.ShowModal //вызов Form3

end;

4. Текст процедуры для события OnClick при нажатии клавиши «Сохранить» на форму Редактирование:

begin

if form1.Table1.Modified

then form1.Table1.Post; //все изменения в таблице сохраняются

close;

end;

5. Пользователь имеет возможность редактировать записи в таблице напрямую. Чтобы это предотвратить используется свойство компоненты DBGrid dgEditing. Нужно выделить DBGrid1 и в свойстве Options► dgEditing инспектора объектов поставить false.







Дата добавления: 2015-09-15; просмотров: 983. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

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

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия