1. Статус псевдоним базы данных
Встроенная база данных Delphi BDE (Borland Database Engine) предоставляет мощные функции обработки базы данных, а BDE является основной частью функции базы данных Delphi.
Принимая локальную базу данных, которая используется только автономной машиной в качестве примера, программа Delphi может напрямую контролировать доступ к данным базы данных через BDE. Этот контроль доступа основан на конфигурации параметров BDE. конкретные таблицы базы данных. Следовательно, при создании таблицы базы данных должно быть два процесса: один из них должен определить, существует ли соответствующий псевдоним базы данных через BDE. (т.е. имени базы данных) в псевдониме базы данных (то есть имени базы данных). Существует ли таблица базы данных, которую необходимо установить, если оно не существует, оно будет установлено. Таким образом, данные в исходной таблице защищены от потерь.
2. Компонент сеанса: интерфейс между программой базы данных Delphi и BDE
Delphi автоматически предоставляет компонент сеанса для приложений базы данных, который является ключом к интерфейсу приложения с BDE. Ниже приведен прототип описание нескольких процессов компонента сеанса, касающегося интерфейса BDE.
1. GetaliasNames (список: TStrings);
2.AddStandardalias (const name, path, defaultdriver: string); Например, добавьте псевдоним с именем CNTSSAMP, драйвер базы данных по умолчанию парадокс, а путь хранения C:/delphp11:
Session.addstandardalias (Cntssamp, C:/delphp11, парадокс);
3. GetTableNames (Const DatabaseName, шаблон: String; Extensions, Systemtables: Boolean; список: TStrings);
4.saveconfigfile;
Кроме того, используйте значение list.indexof (указанная строка), чтобы определить, существуют ли в списке строки необходимые строки, чтобы определить, следует ли установить новый псевдоним базы данных и таблица базы данных.
3. Пример
Напишите следующий код в Form1.formcreate Event. Cntssamp.
Процедура tform1.formcreate (отправитель: tobject
вар
AP: TSTRINGLIST;
Ответ: целое число;
Начинать
ap: = tstringlist.create;
Session.getaliasnames (ap);
if (ap.indexof (cntssamp) =-1), тогда {определить, существует ли псевдоним}
Начинать
Ответ: = Application.messagebox (псевдоним CNTSSAMP не существует, он создан сейчас?
Если ответ = idcancel тогда
Начинать
ap.free;
Выход;
конец;
Session.addstandardalias (Cntssamp, C:/delphp11, парадокс);
Session.saveconfigfile;
конец ;
ap.clear;
Session.gettablenames (cntssamp ,, false, false, ap);
if (ap.indexof (tsk) =-1), тогда {определить, существует ли таблица}
Начинать
Ответ: = Application.messagebox (таблица TSK не существует в псевдониме CNTSSAMP, это создано сейчас?
Если ответ = idcancel тогда
ap.free;
Выход;
конец;
с таблицей 1 до
Начинать
Active: = false;
DatabaseName: = CNTSSAMP;
TableName: = TSK;
TableType: = ttparadox;
с FieldDefs делают
начинать {добавить поле}
Прозрачный;
Добавить (SH, FtString, 30, false);
Добавить (SM, FtString, 30, false);
Add (CBS, FtString, 20, false);
Добавить (CBRQ, FTDATE, 0, false);
Добавить (ys, ftinteger, 0, false);
конец;
с индексами
начинать {добавить индекс}
Ясно;
Добавить (SHSY, SH, [Primary, IxUnique]);
конец;
Createletable;
конец;
конец ;
ap.free;
конец;