Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

ADOConnection. Как указать только путь к БД?   Найти похожие ветки 

 
DmitrichJ   (2007-05-30 17:45) [0]

Здравствуйте, Мастера. Изначально все настройки в ConnectionString сделаны, нужно только в процессе работы подключаться к разным базам. Т.е. просто менять только путь в ConnectionString. Как это сделать?

Спасибо


 
Плохиш ©   (2007-05-30 17:53) [1]

Properties


 
ANB ©   (2007-05-30 18:19) [2]

Я бы вообще не парясь особо перенес забивание строки в код. А то я уже нечаянно тер пару раз с трудом настроенную строку.
Заодно ее лучше видно. Ну и рантайм правки элементарно вносить.


 
DmitrichJ   (2007-05-30 18:19) [3]

Плохиш, в нём через item нужно искать нужную строчку???


 
DmitrichJ   (2007-05-30 18:21) [4]

ANB, я попробовал через 2-е константы String+"путь к бд+string, но ничего хорошего не вышло. или я тебя не понял.


 
ANB ©   (2007-05-30 18:24) [5]


> DmitrichJ   (30.05.07 18:21) [4]

Запости рабочую строку и то, как ты пытался ее собрать в рантайме. Рабочую строку обрами одинарными кавычками.


 
Плохиш ©   (2007-05-30 18:29) [6]


> DmitrichJ   (30.05.07 18:19) [3]
> Плохиш, в нём через item нужно искать нужную строчку???

Искать не нужно, он сам найдёт

Properties.Item["Initial Catalog"].Value


 
Jan1   (2007-05-30 18:30) [7]


> Здравствуйте, Мастера. Изначально все настройки в ConnectionString
> сделаны, нужно только в процессе работы подключаться к разным
> базам. Т.е. просто менять только путь в ConnectionString.
>  Как это сделать?
>

Как бы я сделал. Проверяю наличие строки соединения или в реестре или в ini. Если его нет, то выдаю - PromptDataSource(...) Потом в случае удачи, сохраняю где надо(ини, реестр) и в следующий раз уже прочитается от туда. Можно шифровать если боитесь хранить пароль, можно юзать виндовую аунтификацию если СУБД позволяет...


 
DmitrichJ   (2007-05-30 18:45) [8]

Можно подробней???

 form1.ADOConnection1.Properties.Item["Initial Catalog"].Value:=Edit1.Text;
 form1.ADOConnection1.Connected:=true;

не работает!!!

Работаю с Аксессом, кстати


 
Плохиш ©   (2007-05-30 18:47) [9]


> не работает!!!

Нет в программировании такого понятия, оно есть только у слесарей-сантехников...


 
DmitrichJ   (2007-05-30 19:48) [10]

Ну хорошо, Плохишe, выдаёт ошибку! Говорит, мол параметр только для чтения


 
sniknik ©   (2007-05-30 20:17) [11]

врать не надо. оно не это "говорит".


 
DmitrichJ   (2007-05-31 18:01) [12]

Так и не разобрался=(
Плохиш, можешь написать пример?


 
Плохиш ©   (2007-05-31 18:09) [13]


const
 strMSServer   = "Data Source";
 strMSDatabase = "Initial Catalog";
...
function SetDatabaseIntoConnection(var aConnection: TADOConnection;
 sDB: String; sServer: String ): Boolean;
var
   bIsOpen:  Boolean;
begin
 Result := false;
 if Assigned( aConnection ) then
 try
   bIsOpen := aConnection.Connected;
   if bIsOpen then aConnection.Close;
   Case GetProvType( aConnection ) of
   typMSSQL:
     begin
       if sServer <> "" then
         aConnection.Properties.Item[strMSServer].Value := sServer;
       aConnection.Properties.Item[strMSDatabase].Value := sDB;
       Result := true;
     end;
   typPostgre:
     begin
       if (sServer <> "") and
          (CompareText(GetExtendProperty( aConnection, strPServer), sServer) <> 0) then
         SetExtendProperty(aConnection, strPServer, sServer);
       Result := SetExtendProperty(aConnection, strPDatabase, sDB);
     end;
   end;
   if sDB = "" then Result := false;
   if bIsOpen and Result then aConnection.Open;
 except
   Result := false;
 end;
end;


 
MsGuns ©   (2007-06-01 00:54) [14]

>Плохиш ©   (31.05.07 18:09) [13]

О, боже !
Эк тебя угораздило, горемычного ;(


 
Плохиш ©   (2007-06-01 01:45) [15]


> MsGuns ©   (01.06.07 00:54) [14]
> >Плохиш ©   (31.05.07 18:09) [13]
>
> О, боже !
> Эк тебя угораздило, горемычного ;(

Не понял...


 
DmitrichJ   (2007-06-01 16:28) [16]

"Initial Catalog"- этот параметр не найден!!! Тем более у меня аксес, а не MS SQL


 
Плохиш ©   (2007-06-01 16:37) [17]


> DmitrichJ   (01.06.07 16:28) [16]

Найти название нужного тебе параметра, пусь будет твоим домашним заданием...


 
sniknik ©   (2007-06-01 16:40) [18]

> "Initial Catalog"- этот параметр не найден!!!
а куда делось
> Говорит, мол параметр только для чтения
?
про тот же самый параметр.

> Тем более у меня аксес, а не MS SQL
указывать надо было... у разных провайдеров разные параметры.

p.s. еще раз. врать не надо. тебе же проше будет. охотнее подскажут.


 
DrAndrey ©   (2007-06-01 16:49) [19]

>ANB ©   (30.05.07 18:19) [2]
хороший совет.

var PathDB: String;

PathDB:= "C:\q\qq\qqq\MyDb.mdb"

ConnectionString:= "Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source=" + PathDB +  
+ ";Password="";Jet OLEDB:Database";



Страницы: 1 вся ветка

Текущий архив: 2007.06.24;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.014 c
4-1168522359
Cj
2007-01-11 16:32
2007.06.24
Приостановка процесса


11-1162502592
SKA1997
2006-11-03 00:23
2007.06.24
function WndProc override


2-1180506057
AlexGalkin
2007-05-30 10:20
2007.06.24
Копирование содержимого папки


2-1180711141
WebSQLNeederr
2007-06-01 19:19
2007.06.24
Нужна информация по сокетам в Делфи 7 !!


2-1180762272
OSR
2007-06-02 09:31
2007.06.24
трехмерные кривые