БД

Shaitan63
Дата: 04.12.2007 19:21:08
Помогите пожалоста!
В ADOConnection я указываю адресс БД через Conection String, адресс БД переодически меняется и я хочу чтобы при условии если БД не найденна запускался OpenDialоg и пользователь сам в ручную искал БД.
С OpenDialog у сеня проблемм нет, у меня проблемма с условием и вводом нового адресса(назнаю как указать в ADOConnection новый адресс).
Ivengo
Дата: 04.12.2007 19:22:16
Кури *.udl
RENaissance
Дата: 04.12.2007 19:23:33
Connection String - это всего лишь строка, которую можно формировать вручную. В чем конкретно у Вас проблема?

Posted via ActualForum NNTP Server 1.4

Ivengo
Дата: 04.12.2007 19:28:11
Создаешь пустой файл *.udl (ado.udl например) winexec или shellexecute етого файла. Винда автоматом придоставит диалог. Юзер выбирает настройки, проверяет подключение, нажимает ОК. Читаешь этот файл - там строка подключения.
Shaitan63
Дата: 04.12.2007 21:55:04
Connection String - это всего лишь строка, которую можно формировать вручную. В чем конкретно у Вас проблема?
Проблемма в том что когда пробуеш изменить адресс выдаётся ушибка о том что ну удаётся нати ISEM
Вот код
Form2.ADOQuery1.Close;
Form2.ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=diagnost.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System '+'database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk '+'Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don'+'t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
Form2.ADOQuery1.open;
Ega
Дата: 05.12.2007 09:09:04
Shaitan63
Connection String - это всего лишь строка, которую можно формировать вручную. В чем конкретно у Вас проблема?
Проблемма в том что когда пробуеш изменить адресс выдаётся ушибка о том что ну удаётся нати ISEM
Вот код
Form2.ADOQuery1.Close;
Form2.ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=diagnost.mdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System '+'database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk '+'Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don'+'t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
Form2.ADOQuery1.open;


 with FAdoConnection do 
 begin
   Properties['Data Source'].Value := aSrvName;
   Properties['Initial Catalog'].Value := aDBName;
   Properties['User ID'].Value := aUsrName;
   Properties['Password'].Value := aPasswd;
   Connected := True;
 end;
Homy
Дата: 05.12.2007 09:52:41
Непонятно...зачем свойства изменять ? , формируйте ConnectionString целиком сами, ручками, там всего-то подставить имя и путь из Вашего диалога надо будет ;)
Shaitan63
Дата: 05.12.2007 20:05:28
Что то не работает, по прежнему таже ошибка.
А может быть у когота есть пример!
sanich
Дата: 05.12.2007 23:14:12
а в дизайнере пробовал для adoconnection.connectionstring настроить?
Вручную подключить удалось?
Док
Дата: 06.12.2007 13:30:37
Shaitan63
Что то не работает, по прежнему таже ошибка.
А может быть у когота есть пример!

Я сделал так
//открытие базы данных
procedure TFrmMainProg.ActOpenDbExecute(Sender: TObject);
var OpenDBName: WideString;
begin
with DMAndr do
  begin
    if OpenDialogMDB.Execute then
      begin
        OpenDBName:= OpenDialogMDB.FileName;
        if ADOConnection1.Connected then ADOConnection1.Connected:= False;
        ADOConnection1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
                                          + OpenDBName + ';Persist Security Info=False';
        ADOConnection1.LoginPrompt:= False;
        ADOConnection1.KeepConnection:= True;
        ADOConnection1.Connected:= True;//подключаем АДО