Лекция 14
Настройка подключения к БД. Технология ADO
Компонент Database
- инкапсулирует подключение к БД и используется для:
управления подключением к БД,
управление псевдонимами БД,
управление транзакциями,
выполнение SQL–запросов.
- служит промежуточным звеном между компонентами набора данных и механизмом доступа к данным.
В компоненте предусмотрено:
идентификация базы данных,
идентификация подключения.
Удобство: все компоненты (Table, Query) подключаются к Database, а он к псевдониму BDE.
Идентификация базы данных:
Компонент 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;