Соединение с БД во время выполнения программы, технология ADO.
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Соединение с БД во время выполнения... Expand / Collapse
Автор
Сообщение
10.08.2006 12:07
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 14.11.2006 9:19
Сообщ.: 40, Visits: 286
Надо не только установить соединение, но и сохранить его настройки в файл для последующей загрузки.

Я делаю так:

if EditConnectionString(ADOConnection) then

if (MessegeDLG('Сохранить настройки?',mtConferm,[mbYes,mbNo],0)=mrYes) then

begin

AssignFile(f, 'connect.udl'); Rewrite(f);

writeln(f,'[oledb]');

write(f, ADOConnection.ConnectionString);

CloseFile(f);

end;

Во-первых, запрос на сохранение настроек выводится и при загрузке настроек из файла, что не есть гуд.

Во-вторых, пытаюсь загрузить настройки из файла - возникает ошибка, либо "неверный составной файл" (было раньше, но стандартный DBDEMOS.udl принимал), а теперь "неверный параметр" (даже на DBDEMOS.udl). Короче не работает.

Может кто-нибудь посоветовать как сделать, чтоб все работало првильно? Можт я со свойствами у ADOConnection напутал?

Сообщ. #902450
11.08.2006 15:25
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.09.2007 22:12
Сообщ.: 343, Visits: 3 388
А просто в INI сохранить ConnectionString не додумался ? Ложишь на форму(датамодуль) FormStorage из RxLib. Настраиваешь на ADOConnection.ConnectionString... И все... Можно самому из INI читать. А можно все по модному, в реестре хранить. Если сам будешь сохранять/читать, то Readln(FTxt, ConString);

ADOConnection.ConnectionString := ConString;

Без всяких UDL и т.п.

Сообщ. #902579
15.08.2006 10:11
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 14.11.2006 9:19
Сообщ.: 40, Visits: 286
Можно по подробнее, а то я такое еще не делал и не совсем понял, что вы написали. Что такое FormStorag, где его достать, и как с ним работать7
Сообщ. #902734
15.08.2006 10:43
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.09.2007 22:12
Сообщ.: 343, Visits: 3 388
А что можно еще подробней ? Если не работал, то можно так: у TADOConnection свойство ConnectionString - срока. Поэтому ее можно записать в текстовый файл(реестр/ИНИ) и счиатать оттуда.

....

var

FText : TextFile;

AConStr : String;

begin

//-Запись строки подключения

AssignFile(FText, 'ADOCONNECTIONSTRNG.SET');

Rewrite(FText);

AConStr := ADOConnection.ConnectionString;

WriteLn(FText, AConStr);

CloseFile(FText);

.....

//Чтение строки подключения

Reset(FText);

ReadLn(FText, AConStr);

with ADOConnection do

begin

Connected := False

ConnectionString := AConStr;

Connected := True;

end;//with

end;

Сообщ. #902736
18.08.2006 11:05
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 14.11.2006 9:19
Сообщ.: 40, Visits: 286
Все это хорошо, но в файл записывается уже готовая строка подключения, а мне надо ее сначала сформировать, т.е. надо ывполнить настройку подключения во время выполнения программы (см. 1-е сообщение).
Сообщ. #902912
19.08.2006 12:46
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.09.2007 22:12
Сообщ.: 343, Visits: 3 388
DS := PromptDataSource(Application.Handle, '');
DS - строка
Сообщ. #902962
03.07.2007 15:21
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 03.07.2007 15:16
Сообщ.: 1, Visits: 2
Приветствую! Если я правильно понял, то необходимо сформировать ConString на этапе выполнения программы? То есть не устраивает хранение готового ConStringa, а нужен такой, в котором параметр пути к базе был бы изменяем?
Сообщ. #914504
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 6:47