VR
Virtual Reality On-line   Delphi
Новости   |     Журнал    |    Хаkер   |     Магазин   |   Проекты
[   Вход    ]
[Kарта сайтa]
[ Download  ]
[  Конкурс  ]
[  Анекдоты ]
[  Ссылки   ]
[  Реклама  ]
[ Почтальон ]
[ О проекте ]






TopList
Delphi и базы данных.
Создание псевдонимов
:

Сегодня мы научимся создавать псевдонимы. Точнее сказать, я уже расказывал как это сделать, с помощью SQL Explorer, а сегодня мы это сделаем из собственной проги.

Брось на форму компонент TSession. Если ты работаешь с базой данных, то этот объект создаёться автоматически без твоего ведома. В нём хранится низкоуровневая информация о BDE, драйверах и многом другом. Если ты хочешь изменить какие-то значения указанные в этом объекте по умолчанию, то тебе необходимо:
Logo
Рис 1. Пример формы

  • Поставить этот компонент на форму.
  • Указать любое имя в его свойстве SessionName .
  • Всем компонентам TTable и TQuery , для которых будут действовать установленные тобой значения, вполе SessionName нужно указать имя объекта TSession.

    Для нашего примера достаточно первых двух действий, потому что у нас не будет компонентов TTable или TQuery.

    Посмотри на рисунок 1 и сконструируй форму, подобную этой. Как только закончишь, продолжай читать.

    Рассмотрим процедуру FormShow - которая вызывается на событие OnShow:

    procedure TForm1.FormShow(Sender: TObject);
    var
     str:TStrings;
    begin
     Str:=TStringList.Create;
     Session1.GetAliasNames(Str);
     ListBox1.Items.Assign(Str);
     Str.Free;
    end;
    

    Здесь я получаю список всех доступных в системе псевдонимов и вставляю этот список в TListBox. Рассмотрим по строчно. Сначала я объявляю переменную Str типа TStrings.

    Str:=TStringList.Create - эта строка инициаизирует переменную Str, как список строк (TStringList).

    Функция GetAliasNames компонента ТSession возвращает все доступные системе псевдонимы. В качестве параметра передаёться указатель на объект типа TStrings, куда запишутся весь список.

    ListBox1.Items.Assign(Str) - копирую список в элементы ListBox1.

    И последняя строка освобождает переменную Str.

    Теперь создадим новый псевдоним стандартного типа. К этому типу относятся таблицы Paradox и DBF. Я создаю псевдоним по нажатию первой кнопки. Вот соответствующая процедура:

    procedure TForm1.Button1Click(Sender: TObject);
    var
     str:TStrings;
    begin
     Session1.AddStandardAlias('VROnline','c:\','Paradox');
     Str:=TStringList.Create;
     Session1.GetAliasNames(Str);
     ListBox1.Items.Assign(Str);
     Str.Free;
    end;
    

    Создание происходит с помощью функции AddStandardAlias компонента ТSession. В качестве первого параметра, ты должен указать имя нового псевдонима. Второй - путь к базам данных, которые будут связаны с псевдонимом. Третий - драйвер, который будет использоватся по умолчанию.

    После добавления, я снова получаю спсок доступных псевдонима и копирую его в TListBox.

    Теперь создадим псевдоним нестандартого типа. Для примера будет использоваться Interbase. Он будет создаваться по нажатию второй кнопки:

    procedure TForm1.Button2Click(Sender: TObject);
    var
     L: TStringList;
    begin
     L := TStringList.Create;
     try
      with L do
       begin
        Add('SERVER NAME=IB_SERVER:/PATH/DATABASE.GDB');
        Add('USER NAME=MYNAME');
       end;
      Session1.AddAlias('NewIB', 'InterBase 4.x Driver by Visigen',L);
     finally
      L.Free;
     end;
    end;
    

    Процедура AddAlias компонента ТSession создаёт псевдоним нестандартного типа. Первый параметр - имя псевдонима. Второй - имя драйвера. Третий параметр - указатель на TStringList, в котором хранятся дополнительные настройки. Дополнительные параметры хранятся в виде строк (например 'SERVER NAME= IB_SERVER: /PATH/DATABASE.GDB'). В строке указывается имя параметра и после знака равно его значение. Параметры могу тотличаться, в зависимости от драйвера. Чтобы узнать, какие параметры доступны, можно создать пробный псевдоним в SQL Explorer и посмотреть, какие там присутствуют параметры.

    Внимание!!! - имя драйвера у тебя может отличаться. Чтобы увидеть все доступные драйверы, нужно войти в BDE Administrator . Здесь, на закладе Configuration на дереве выбираешь Drivers , и здес в разделах Native и ODBC есть все имена драйверов.

    На сегодня всё.

     Исходники примера забирай здесь


  • Copyright©: Horrific aka Флёнов Михаил
    Design by FMk group©