ЛР 01-1 1620 (препод) (1018812), страница 5
Текст из файла (страница 5)
Таблицу Sd не заполняем
Открываем ее выбираем
Table - Restructure
Выбираем таблицу из которой будем вводить данные и соответствующее поле
Just current field – берутся значения только для выбранного поля
Если включен Lookup access - Help and Fill , то при вводе при нажатии Ctrl+Space Можно будет выбрать значение
Заполним значениями данную таблицу
Определим ссылочную целостность
Так для поля CodPok
Долее определим имя ссылки
В дальнейшем модно модифицировать так Код товара
В Corel Paradox 9
можно запустить Visual DataBase Disigner
Для формирования запросов выберем File - New – QBE Query, Выберем все наши таблицы
Запрос Список менеджеров
нажмем на кнопку быстрого доступа Run Query
Для создания сложных запросов предварительно связываем таблицы
Нажимаем на кнопку , расположенную рядом с Run Query
Вопрос 2 Работа с БД на Delphi
Компоненты, используемые для работы с БД, находятся на страницах Data Access, Data Controls, Midas, Decision Cube, QReport и InterBase Палитры компонентов. Некоторые компоненты предназначены специально для работы с удаленными БД в архитектуре "клиент-сервер".
Наиболее часто используемые для работы с базами данных компоненты, , расположены в библиотеке компонентов на страницах Data Access (доступ к данным) и Data Control (управление данными).
Каждое приложение, использующее базы данных, обычно имеет по крайней мере по одному компоненту следующих трех типов:
-
Компоненты — наборы данных (Data Set), непосредственно связывающиеся с базой данных. Это такие компоненты, как Table, Query, StoredProc.
-
Компонент — источник данных (Data Source), осуществляющий обмен информацией между компонентами первого типа и компонентами визуализации и управления данными. Таким компонентом является DataSource.
-
Компоненты визуализации и управления данными, такие, как DBGrid, DBText, DBEdit и множество других. Связь этих компонентов друг с другом и с базой данных можно представить схемой:
При работе в архитектуре "клиент-сервер" псевдоним БД часто записывается в свойство AliasName компонента TDatabase, отвечающего за связь с ком удаленной БД. База данных получает новый псевдоним (свойство DataBaseName компонента TDatabase). В этом случае компоненты типа "набор данных" в свойстве DataBaseName хранят значение из свойства DataBaseName компонента TDatabase.
Компонент Database целесообразно вводить в приложение только в сравнительно редких случаях. Если он не введен явно, Delphi автоматически создает его для каждой используемой в приложении базы данных.
Установка связей между компонентами и базой данных, навигация по таблице
На странице Data Access находятся невизуальные компоненты, предназначенные для организации доступа к данным
|
|
|
|
На странице Data Controls находятся визуальные компоненты, предназначенные для управления данными:
|
|
|
|
| DBChart — диаграмма; |
Построим простейшее приложение, работающее с нашей базой данных. В нем мы будем в качестве набора данных использовать компонент Table.
Откройте новое приложение и перенесите на форму компонент Table со страницы Data Access. Перенесите также на форму с той же страницы библиотеки компонент DataSource, который будет являться источником данных. Оба эти компоненты невизуальные, пользователю они будут не видны, так что их можно разместить в любом месте формы. В качестве компонента визуализации данных возьмите компонент DBGrid со страницы Data Control. Это визуальный компонент, в котором будут отображаться данные. Поэтому растяните его пошире, или можете в его свойстве Align установить alClient.
Выделите на форме компонент DBGridl и щелкните на его свойстве DataSource в Инспекторе Объектов. Вы увидите выпадающий список, в котором перечислены все имеющиеся на форме источники данных. В нашем случае имеется только один источник данных — DataSourcel. Установите его в качестве значения свойства DataSource.
Далее надо установить связь между источником данных и набором данных. Выделите компонент DataSourcel и найдите в Инспекторе Объектов его главное свойство — DataSet. Щелкните на этом свойстве и из выпадающего списка выберите Tablel (если бы у вас было несколько компонентов — наборов данных, то все они были бы в этом списке).
Теперь осталось связать компонент Tablel с необходимой таблицей базы данных. Для этого служат два свойства компонента Table: DatabaseName и TableName. Прежде всего, надо установить свойство DatabaseName. В выпадающем списке этого свойства в Инспекторе Объектов вы можете видеть все доступные BDE псевдонимы баз данных. Выберите из этого списка псевдоним MelkOpt, который мы ввели ранее
| |
После этого можно устанавливать значение свойства TableName. В выпадающем списке этого свойства перечислены таблицы, доступные в выбранной базе данных. Выберите таблицу Men.db.
После установки свойства Active таблицы в True произойдет соединение с базой и можно увидеть живые данные.
Откомпилируйте проект сохраните в папку – Просмотр одной таблицы.
Выполните программу После появления формы нажмите клавишу Insert и введите три фамилии новых менеджеров.
Измените в Delphi название формы на Менеджеры.
Навигация по таблице.
Снимем признак Align - alClient , установим None, уменьшим размер DBGrid. Установим на форму компонент DBNavigator, установим его свойсво Align в alBottom, вернем DBGrid - alClient/
Компонент DBNavigator имеет ряд кнопок, служащих для управления данными. Перечислим их названия и назначение, начиная с левой кнопки:
nbFirst | перемещение к первой записи | nbDelete | удалить текущую запись |
nbPrior | перемещение к предыдущей записи | nbEdit | редактировать текущую запись |
nbNext | перемещение к следующей записи | nbPost | послать отредактированную информацию в базу данных |
nbLast | перемещение к последней записи | nbCancel | отменить результаты редактирования или добавления новой записи |
nblnsert | вставить новую запись перед текущей | nbRefresh | очистить буфер, связанный с набором данных |
Установим свойство DataSource DBNavigator – DataSource1.
Откомпилируем проект, попробуем редактирование и перемещение по таблице. Установим свойство ShowHint – True, Flat – True.
В Object Inspector выберем Form1 , вкладку Events и запишем обработчик OnCreate
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Table1.Active:=true;
end;