Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки 11-12 лекция.doc
Скачиваний:
1
Добавлен:
23.11.2019
Размер:
229.89 Кб
Скачать

Лекция 14

Настройка подключения к БД. Технология ADO

Компонент Database

- инкапсулирует подключение к БД и используется для:

      • управления подключением к БД,

      • управление псевдонимами БД,

      • управление транзакциями,

      • выполнение SQL–запросов.

- служит промежуточным звеном между компонентами набора данных и механизмом доступа к данным.

В компоненте предусмотрено:

  • идентификация базы данных,

  • идентификация подключения.

Удобство: все компоненты (Table, Query) подключаются к Database, а он к псевдониму BDE.

Идентификация базы данных:

  1. Компонент Database через свойство

  • AliasName подключается к BDE-псевдониму.

  • в свойство DatabaseName заносится свой внутренний псевдоним (вручную),

2. Компоненты Table, Query подключаются через свойство DatabaseName к внутреннему псевдониму (а имя таблицы приписывается вручную в TableName).

3. И т.д. идет подключение.

Идентификация подключения (псевдоним в BDE не прописан):

Все связи между компонентами должны быть прописаны вручную, а также связь таблиц master-detail.

В Database вручную прописать имя внутреннего псевдонима в свойстве DatabaseName (например, proba)

И написать программный код:

Подключение Database к БД

procedure TForm1.FormCreate(Sender: TObject);

begin

//До этого все связи должны быть прописаны вручную

//а также связь таблиц master-detail

//В Database вручную прописать имя в Databasename (proba)

Database1.DriverName := 'STANDARD';

Database1.Params.Clear;

Database1.Params.Add('PATH =D:\папка');

Database1.Params.Add('DEFAULT DRIVER=PARADOX');

Database1.Params.Add('ENABLE BCD=FALSE');

Table1.Open;

Table2.Open;

Динамическое подключение БД

procedure TForm1.FormActivate(Sender: TObject);

begin

with Session do

begin

ConfigMode := cmSession;

try //создаем временный псевдоним

AddStandardAlias('School', ExtractFilePath (ParamStr(0)) + 'bd_stu\', 'PARADOX');

Table1.Active := True;

finally

configMode := cmAll;

end;

end;

end;

Модуль данных DataModula

Все невизуальные компоненты ( Table, Query, DataSource) для удобства можно поместить в один контейнер – модуль данных.

Различают

  • простой модуль данных (рассмотрим),

  • удаленный модуль данных,

  • Web-модуль.

Модуль данных как и форма является контейнером и для него создается модуль с расширением .pas.

Добавление модуля File\New\DataModula

В окне модуля размещаются компоненты как и на форме, в окне Инспектора объектов отображаются их свойства.

Обращение к компоненту, расположенному на модуле, в программе:

<Имя_модуля>.< имя_компонента>

В секции Implementation модуль подключается Uses имя_модуля;

unit datamodula; //файл модуля

Interface

uses

SysUtils, Classes, DB, DBTables;

type

TDataModule2 = class(TDataModule)

TbR1: TTable;

Query1: TQuery;

DataSource1: TDataSource;

TbR1Kod_f: TAutoIncField;

………………………………….

TbR1Age: TDateField;

end;

var

DataModule2: TDataModule2;