Свойства компонентов DBText, DBEdit и DBMеmо
Свойство
| Определяет
| Name
DataSource
DataField
| Имя компонента. Используется для доступа к свойствам компонента
Компонент-источник данных
Поле базы данных, для отображения или редактирования которого используется компонент
|
Компонент DBNavigator
Для того чтобы иметь возможность просматривать другие записи файла данных, в форму приложения нужно добавить компонент DBNavigator, значок которого находится на вкладке Data Controls. Компонент DBNavigator представляет собой набор кнопок, при щелчках на которых во время работы программы происходит перемещение указателя текущей записи к следующей, предыдущей, первой или последней записи базы данных, а также добавление к файлу данных новой записи, удаление текущей записи.
Кнопки компонента DBNavigator
Кнопка
| Обозначение
| Действие
| К первой
| nbFirst
| Указатель текущей записи перемещается к первой записи файла данных
| К предыдущей
| nbPrior
| Указатель текущей записи перемещается к предыдущей записи файла данных
| К следующей
| nbNext
| Указатель текущей записи перемещается к следующей записи файла данных
| К последней
| nbLast
| Указатель текущей записи перемещается к последней записи файла данных
| Добавить
| nbInsert
| В файл данных добавляется новая запись
| Удалить
| nbDelete
| Удаляется текущая запись файла данных
| Редактирование
| nbEdit
| Устанавливает режим редактирования текущей записи
| Сохранить
| nbPost
| Изменения, внесенные в текущую запись, записываются в файл данных
| Отменить
| Cancel
| Отменяет внесенные в текущую запись изменения
| Обновить
| nbRefresh
| Записывает внесенные изменения в файл
|
Постановка задачи
Разработать базу данных «Архитектурные памятники Санкт-Петербурга». База состоит из одной таблицы. Таблица должна включать следующие поля: Название памятника, Архитектор памятника, Историческая справка, имя графического файла с изображением памятника. Разработать приложение для просмотра и редактирования базы данных «Архитектурные памятники Санкт-Петербурга».
Порядок выполнения
1. Создать каталог Петербург, в ней подкаталог Data.
2. Создать псевдоним для базы данных при помощи входящей в Delphi утилиты BDE Administrator, для этого:
· выбрать из меню Программы | Borland Delphi 7 команду BDE Administrator;
· в появившемся окне выбрать вкладку Databases;
· в меню Object выбрать команду New;
· в открывшемся диалоговом окне New Database Alias (Новый псевдоним базы данных) из списка Database Driver Name, в котором перечислены зарегистрированные в системе драйверы доступа к базам данных, выбрать драйвер STANDARD, который обеспечивает доступ к таблицам в формате Paradox;
· изменить автоматически созданное имя псевдонима на Peterburg;
· в поле Path на вкладке Definition задать путь к файлам базы данных, для которой создается псевдоним;
· для регистрации созданного псевдонима в файле конфигурации (Idapi.cfg), необходимо в меню Object выбрать команду Apply (Применить). В открывшемся диалоговом окне Confirm подтвердить необходимость сохранения изменений в файле конфигурации;
3. Загрузить Delphi.
4. Разработать структуру таблицы при помощи входящей в состав Delphi утилиты Database Desktop, для этого:
· Выбрать в меню Tools/ Database Desktop
· выбрать в меню File / New / Table ;
· подтвердить тип Paradox, нажав Ок;
· в следующем окне задать структуру таблицы в соответствии с образцом:
5. Сохранить таблицу, для этого:
· нажать кнопку Save As, в результате открывается окно Save Table As;
· в появившемся окне из списка Alias выбрать псевдоним базы данных Petergurg ;
· в поле Имя файла ввести имя файла Monument;
· установить флажок Display table, чтобы можно было вводить данные после сохранения структуры таблицы;
· нажать кнопку Сохранить.
6. Ввести в таблицу данные, для этого:
· из меню Table выбрать команду Edit Data;
· ввести следующие данные
| Памятник
| Архитектор
| Историческая справка
| Иллюстрация
|
| Адмиралтейство
| А. Д. Захаров
| Здание Адмиралтейства таким, как оно выглядит сейчас, стало после перестройки в 1806—1823 годах. Автор проекта — гениальный русский зодчий А. Д. Захаров. Высота шпиля: 72 метра
| admiral.bmp
|
| Александровская колонна
| Огюст Монферран
| Памятник победы России над войсками Наполеона в Отечественной войне 1812 года. Открыта 30 августа 1 834 года. Высота: 47,5 метра; вес гранитного ствола: 600 тонн
| aleks.
bmp
|
| Зимний дворец
| Ф. Б. Растрелли
| Зимний дворец много раз менял свой облик. Последний раз он перестраивался по проекту Растрелли. Строительство дворца продолжалось более семи лет (1754— 1 762 годы)
| herm.
bmp
|
| Исаакиевский собор
| Огюст Монферран
| Исаакиевский собор, четвертый по счету, стали возводить в 1818 году. Строился собор 40 лет и был окончен в 1 858 году. Автор проекта— Огюст Монферран
| isaak.
bmp
|
| Ростральные колонны
| Тома де Томон
| 32-метровые ростральные колонны, органично вошедшие в архитектурный ансамбль Стрелки Васильевского острова, были сооружены в 1810 году.
| rostr.
bmp
|
Примечание: Если при вводе данных в таблицу буквы русского алфавита отображаются неверно, то надо изменить шрифт. Для этого в меню Edit выбрать Preferences, на вкладке General щелкнуть Change. Откроется диалоговое окно Change Font, выбрать русифицированный шрифт. Следует обратить внимание, что в Windows 2000 (XP) используются шрифты типа Open Type, в то время как программа Database Desktop ориентирована на работу со шрифтами TrueType. Поэтому нужно выбрать русифицированный шрифт именно TrueType. После этого надо завершить работу с Database Desktop, т.к внесенные в конфигурацию изменения будут действительны только после перезапуска утилиты.
7. Закрыть утилиту Database Desktop.
8. Разработать приложение для созданной базы данных, для этого:
· добавить на форму следующие компоненты и изменить им значения свойств:
TTable
(BDE)
| Name
DataBaseName
TableName
Active
| TABLE1
Peterburg
monument.db
True
| TDataSource
(Data Access)
| Name
Data Set
| DataSource1
Table1
| DBEdit
(Data Controls)
| Name
DataSource
DataFieid
| DBEdit1
DataSource1
Monument
| DBEdit
(Data Controls)
| Name
DataSource
DataFieid
| DBEdit2
DataSource1
Architect
| DBEdit
(Data Controls)
| Name
DataSource
DataFieid
| DBEdit3
DataSource1
Photo
| DBMemo
(Data Controls)
| Name
DataFieid
| DBMemo1
Note
| TDBNavigator
(Data Controls)
| Name
Data Source
| DBNavigator1
DataSource1
| Label
| Caption
Caption
Caption
| Памятник
Архитектор
Историческая справка
| Image
| Name
| Image1
|
· привести форму в соответствие с образцом
· проверить работу приложения.
9. Модернизировать приложения для того, чтобы была возможность просмотра графического файла:
· объявить глобальную переменную
BmpPath: string; // путь к файлам иллюстраций
· создать процедуру вывод фотографии в Image1
procedure ShowFoto(foto: string);
Begin
try
Form1.Image1.Picture.LoadFromFile(BmpPath+foto);
Form1.Image1.Visible:=True;
except
on EFOpenError do
begin
MessageDlg('Файл иллюстрации '+foto+' не найден.', mtinformation, [mbOk], 0) ;
end;
end;
end;
· для компонента Table1 выбрать событие OnAfterScroll и ввести код для перехода к другой записи:
if form1.DBEdit3.Visible then
begin
form1.DBEdit3.Visible := False;
form1.Label4.Visible:=False;
end;
if Form1.DBEdit3.Text <> '' then ShowFoto(Form1.DBEdit3.Text)
else form1.Image1.Visible:=False;
· для компонента DBEdit3 выбрать событие OnKeyPress и ввести код:
if (key = #13) then
if Form1.DBEdit3.Text <>''
then ShowFoto(Form1.DBEdit3.Text) // показать иллюстрацию
else form1.Image1.Visible:=False;
· для компонента DBNavigator1 выбрать событие OnClick и ввести код:
case Button of
nbInsert: //вставка записи
begin
Image1.Visible:=False;// скрыть область вывода иллюстрации
DBEdit3.Visible:=True;
Label4.Visible:=True;
end;
nbEdit: begin редактирование записи
DBEdit3.Visible:=True;
Label4.Visible:=True;
end;
end;
· для компонента Table1 выбрать событие OnBeforeOpen и ввести код:
// перед открытием таблицы
BmpPath:=ExtractFilePath(ParamStr(0))+'data\';
10. Проверить работу приложения.
11. Результат показать преподавателю.
12. Сохранить приложение.
Контрольные вопросы
1. Какие компоненты можно использовать для просмотра и редактирования данных базы?
2. Какое назначение навигатора при работе базой?
ПРАКТИЧЕСКАЯ РАБОТА № 17
Тема Разработка приложения для базы данных
Цель работы:Закрепить навыки создания приложения базы данных вручную.
Пояснения к работе
Компонент Query
Компонент Query представляет собой часть базы данных – записи, содержимое которых удовлетворяет критерию SQL-запроса к таблице. Свойства компонента приведены в таблице.
Свойство
| Описание
| Name
| Имя компонента
| SQL
| Записанный на языка SQL запрос к базе данных
| Active
| При присвоении свойству значения True активизирует выполнение запроса
|
Компонент DBGrid
Компонент используется для просмотра и редактирования базы данных в режиме таблицы. Свойства компонента приведены в таблице.
Свойство
| Описание
| Name
| Имя компонента
| DataSource
| Источник отображаемых в таблице данных
| Columns
| Представляет собой массив компонентов типа Column, каждый из которых определяет колонку таблицы
| Options.dgTitles
| Разрешает вывод строки заголовка столбцов
| Options.dgColumnResize
| Разрешает менять ширину столбцов при выполнении программы
|
Постановка задачи
Разработать приложения для работы с базой данных «Записная книжка». Для создания базы данных использовать утилиту Data Desktop, для создания псевдонима – SQL-Explorer или BDE Administrator. Характеристики полей базы данных приведены в таблице.
Поле
| Тип
| Размер
| Информация
| Fam
| A
|
| фамилия
| Name
| A
|
| имя
| Tel
| A
|
| телефон
| Email
| A
|
| адрес электронной почты
|
Порядок выполнения
1. Создать каталог дляпроекта, в нем подкаталог Data.
2. Создать псевдоним adrbook.
3. Создать таблицу MainBook.db в формате Paradox.
4. Ввести в таблицу не менее 5 записей.
5. Загрузить Delphi и на форму добавить компоненты Table, DataSource, DBGrid.
6. Выполнить настройку компонентов в соответствии с приведенной таблицей.
Компонент
| Свойство
| Значение
| Table1
| DataBaseName
TableName
Active
| Adrbook
MainBook
True
| DataSource1
| DataSet
| Table1
| DBGrid1
| DataSource
| DataSource1
|
7. Привести форму в соответствие с образцом.
8. Для процедуры FormCreate ввести код:
Table1.Active :=true;
9. Для кнопки Запрос ввести код:
Var
buf: string[30];//критерий запроса
Begin
buf:=inputbox(‘Выборка из БД','Введите фамилию ','');
If buf='' then exit;
//пользователь ввел критерий запроса
With query1 do begin
close; // закрыть результат выполнения предыдущего запроса
SQL.clear; // удалить текст предыдущего запроса
//формируем запрос
SQL.ADD('SELECT Fam,Name,Tel,Email');
SQL.ADD('FROM ":ADRBOOK:MAINBOOK.DB" ');
SQL.ADD('WHERE');
SQL.ADD('(Fam ="'+buf+'")');
SQL.ADD('ORDER BY Fam,name');
Open;// выполнить запрос
If RecordCount <>0 then Datasource1.dataSet:=Query1
Else ShowMessage('в БД нет записей, удовлетворяющих'+#13+ ' критерию запроса');
end;
end;
10. Для кнопки Все записи ввести код:
datasource1.DataSet :=table1;
11. Проверить работу приложения.
12. Результат показать преподавателю.
ИНДИВИДУАЛЬНЫЕ ПРОЕКТЫ
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|