Приветствую Вас Гость | RSS

Меню сайта

Реклама

Категории раздела
ADO [17]
ASCII и CSV [12]
Access [20]
Alias [24]
BDE [37]
BLOB поля [19]
Clipper [2]
DB2 [2]
DBASE и DBF [26]
Fox Pro [1]
Interbase [21]
MSSQL [0]
ODBC [10]
Oracle [0]
Paradox [0]
SQL [29]
Sybase [1]
База данных [0]
Закладки [2]
Записи [0]
Индексы [10]
Компоненты и Базы данных [0]
Модуль данных [3]
Отчеты [2]
Ошибки БД [17]
Поиск [16]
Поля [0]
Сортировка и Фильтр [6]
Таблицы [0]

Наш опрос
Есть ли у Вас свой сайт?
Всего ответов: 48

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Статьи » Базы данных » Alias

Задание псевдонима программным путем
Эта информация поможет вам разобраться в вопросе создания и использования ПСЕВДОНИМОВ баз данных в ваших приложениях. 

Вне Delphi создание и конфигурирование псевдонимов осуществляется утилитой BDECFG.EXE. Тем не менее, применяя компонент TDatabase, вы можете в вашем приложении создать и использовать псевдоним, не определенный в IDAPI.CFG. 

Важно понять, что создав псевдоним, использовать его можно только в текущем сеансе вашего приложения. Псевдонимы определяеют расположение таблиц базы данных и параметры связи с сервером баз данных. В конце концов, вы получаете преимущества использования псевдонимов в пределах вашего приложения без необходимости беспокоиться о наличии их в конфигурационном файле IDAPI.CFG в момент инициализации приложения. 

Некоторые варианты решения задачи: 

Пример #1: 

Пример #1 создает и конфигурирует псевдоним для базы данных STANDARD (.DB, .DBF). Псевдоним затем используется компонентом TTable. 

Пример #2: 

Пример #2 создает и конфигурирует псевдоним для базы данных INTERBASE (.gdb). Псевдоним затем используется компонентом TQuery для подключения к двум таблицам базы данных. 

Пример #3: 

Пример #3 создает и конфигурирует псевдоним для базы данных STANDARD (.DB, .DBF). Демонстрация ввода псевдонима пользователем и его конфигурация во время выполнения программы. 

Пример #1: Используем базу данных .DB или .DBF (STANDARD) 

Создаем новый проект. 
Располагаем на форме следующие компоненты: - TDatabase, TTable, TDataSource, TDBGrid, and TButton. 
Дважды щелкаем на компоненте TDatabase или через контекстное меню (правая кнопка мыши) вызываем редактор базы данных. 
Присваиваем базе данных имя 'MyNewAlias'. Это имя будет выполнять роль псевдонима в свойстве DatabaseName для компонентов типа TTable, TQuery, TStoredProc. 
Выбираем в поле Driver Name (имя драйвера) пункт STANDARD. 
Щелкаем на кнопке Defaults. Это автоматически добавляет путь (PATH=) в секцию перекрытых параметров (окно Parameter Overrides). 
Устанавливаем PATH= to C:\DELPHI\DEMOS\DATA (PATH=C:\DELPHI\DEMOS\DATA). 
Нажимаем кнопку OK и закрываем окно редактора. 
В компоненте TTable свойству DatabaseName присваиваем 'MyNewAlias'. 
В компоненте TDataSource свойству DataSet присваиваем 'Table1'. 
В компоненте DBGrid свойству DataSource присваиваем 'DataSource1'. 
Создаем в компоненте TButton обработчик события OnClick. 


procedure TForm1.Button1Click(Sender: TObject);
begin
  Table1.Tablename:= 'CUSTOMER';
  Table1.Active:= True;
end;

 


Запускаем приложение. 
*** В качестве альтернативы шагам 3 - 11, вы можете включить все эти действия в сам обработчик: 



procedure TForm1.Button1Click(Sender: TObject);
begin
  Database1.DatabaseName:= 'MyNewAlias';
  Database1.DriverName:= 'STANDARD';
  Database1.Params.Clear;
  Database1.Params.Add('PATH=C:\DELPHI\DEMOS\DATA');
  Table1.DatabaseName:= 'MyNewAlias';
  Table1.TableName:= 'CUSTOMER';
  Table1.Active:= True;
  DataSource1.DataSet:= Table1;
  DBGrid1.DataSource:= DataSource1;
end;

 


Пример #2: Используем базу данных INTERBASE 

Создаем новый проект. 
Располагаем на форме следующие компоненты: - TDatabase, TQuery, TDataSource, TDBGrid, and TButton. 
Дважды щелкаем на компоненте TDatabase или через контекстное меню (правая кнопка мыши) вызываем редактор базы данных. 
Присваиваем базе данных имя 'MyNewAlias'. Это имя будет выполнять роль псевдонима в свойстве DatabaseName для компонентов типа TTable, TQuery, TStoredProc. 
Выбираем в поле Driver Name (имя драйвера) пункт INTRBASE. 
Щелкаем на кнопке Defaults. Это автоматически добавляет путь (PATH=) в секцию перекрытых параметров (окно Parameter Overrides). 
 SERVER NAME=IB_SERVEER:/PATH/DATABASE.GDB
 USER NAME=MYNAME
 OPEN MODE=READ/WRITE
 SCHEMA CACHE SIZE=8
 LANGDRIVER=
 SQLQRYMODE=
 SQLPASSTHRU MODE=NOT SHARED
 SCHEMA CACHE TIME=-1
 PASSWORD=

Устанавливаем следующие параметры 
 SERVER NAME=C:\IBLOCAL\EXAMPLES\EMPLOYEE.GDB
 USER NAME=SYSDBA
 OPEN MODE=READ/WRITE
 SCHEMA CACHE SIZE=8
 LANGDRIVER=
 SQLQRYMODE=
 SQLPASSTHRU MODE=NOT SHARED
 SCHEMA CACHE TIME=-1
 PASSWORD=masterkey

В компоненте TDatabase свойство LoginPrompt устанавливаем в 'False'. Если в секции перекрытых параметров (Parameter Overrides) задан пароль (ключ PASSWORD) и свойство LoginPrompt установлено в 'False', при соединении с базой данный пароль запрашиваться не будет. Предупреждение: при неправильно указанном пароле в секции Parameter Overrides и неактивном свойстве LoginPrompt вы не сможете получить доступ к базе данных, поскольку нет возможности ввести правильный пароль - диалоговое окно "Ввод пароля" отключено свойством LoginPrompt. 
Нажимаем кнопку OK и закрываем окно редактора. 
В компоненте TQuery свойству DatabaseName присваиваем 'MyNewAlias'. 
В компоненте TDataSource свойству DataSet присваиваем 'Query1'. 
В компоненте DBGrid свойству DataSource присваиваем 'DataSource1'. 
Создаем в компоненте TButton обработчик события OnClick. 


procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.SQL.Clear;
  Query1.SQL.ADD(
  'SELECT DISTINCT * FROM CUSTOMER C, SALES S
  WHERE (S.CUST_NO = C.CUST_NO)
  ORDER BY C.CUST_NO, C.CUSTOMER');
  Query1.Active:= True;
end;

 


Запускаем приложение. 
Пример #3: Ввод псевдонима пользователем 

Этот пример выводит диалоговое окно и создает псевдоним на основе информации, введенной пользователем. 

Директория, имя сервера, путь, имя базы данных и другая необходимая информация для получения псевдонима может быть получена приложением из диалогово окна или конфигурационного .INI файла. 


Выполняем шаги 1-11 из примера #1. 
Пишем следующий обработчик события OnClick компонента TButton: 


procedure TForm1.Button1Click(Sender: TObject);
var
  NewString: string;
  ClickedOK: Boolean;
begin
  NewString := 'C:\';
  ClickedOK := InputQuery('Database Path',
  'Path: --> C:\DELPHI\DEMOS\DATA', NewString);
  if ClickedOK then
  begin
  Database1.DatabaseName := 'MyNewAlias';
  Database1.DriverName := 'STANDARD';
  Database1.Params.Clear;
  Database1.Params.Add('Path=' + NewString);
  Table1.DatabaseName := 'MyNewAlias';
  Table1.TableName := 'CUSTOMER';
  Table1.Active := True;
  DataSource1.DataSet := Table1;
  DBGrid1.DataSource := DataSource1;
  end;
end;

Запускаем приложение.
Категория: Alias | Добавил: Skinner (04.07.2008)
Просмотров: 390 | Рейтинг: 0.0/0
  Delphi Lab   Главная   Регистрация   Вход  
Интересная Цитата

Поиск

Магазин


Copyright MyCorp © 2024 Хостинг от uCoz