Формирование строки подключения во время запуска программы

Автор: | 22.03.2013

В Windows7 компонент ADOConnection при переносе на другие компьютеры готового исходника, сбрасывает строку подключения на собственную “C:\Windows\system32″ или подобную.
Выхода и данной ситуации может быть два. Или переносить файл с базой данных в эту папку, или поставить ниже следующий костыль. Данный костыль формирует строку подключения во время запуска программы, а именно создания Дата модуля.

[cc lang=”delphi” tab_size=”2″ line_numbers=”false” no_links=”false”]
procedure TDataModule1.DataModuleCreate(Sender: TObject);
var
WhereAmI : string;
begin
GetDir(0,WhereAmI); (* WhereAmI is a string stored in “Unit Globals”.*)
ConnectionString := WhereAmI + ‘\Database.mdb’; (* DB_Name is also a string stored in Globals *)
If ADOConnection1.ConnectionString = ” then
begin
ADOConnection1.ConnectionString := ‘Provider=Microsoft.Jet.OLEDB.4.0;’ +
‘Data Source=’ + ConnectionString + ‘;Persist Security Info=False’;
ADOConnection1.Connected:= true;
Found_Variants_Query.Active:=true;
Search_Words_Query.Active:=true;
Black_Words_Query.Active:=true;
Black_Users_Query.Active:=true;
end;
end;
[/cc]

Формирование строки подключения во время запуска программы: 2 комментария

  1. ­

    а я у себя так это сделал

    ADOConnection1.Close();
    ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+'DB.mdb;Persist Security Info=False';
    ADOConnection1.Open();
    ADOQuery1.Active:=True;

    1. blog

      Это тоже верно. Я в дизайт тайме у ADOConnection строку подключения оставляю пустой. А при создании она проверяет на пустоту, и заполняет её если она не задана.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *