Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2009, 18:55   #1
kenta
Пользователь
 
Регистрация: 12.10.2008
Сообщений: 18
По умолчанию База ассеss, компоненты АDО.

Как программно получить путь к базе?
kenta вне форума Ответить с цитированием
Старый 27.11.2009, 20:16   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

поиск, по ключевому слову ConnectionString
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.11.2009, 07:44   #3
solyr
 
Регистрация: 28.11.2009
Сообщений: 6
По умолчанию

/////////////////////////////////// Содержимое файла настроек соединения
[oledb]
Provider=Microsoft.Jet.OLEDB.4.0
User ID=Admin
Data Source=c:\Tools\Delphi\DataBase Prj\Local DB\Access\DB\MainDB.mdb
Mode=ReadWrite|Share Deny None
Extended Properties=""
Persist Security Info=False
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:Compact Without Replica Repair=False
Jet OLEDB:SFP=False

/////////////////////// Проца позволяющая производить соед-е с БД в независимости от расположения проги. БД Access должна быть в кталоге DB, которые в свою очередъ находится в катлоге программы

procedure TForm1.FormCreate(Sender: TObject);
var IniFile:TIniFile;
strConnection:string;
begin
try
//чтение файла настроек (независим от путия располжения каталога программы),
//формирование строки соединения,
//активация соединения
IniFile:=TIniFile.Create(ExtractFil ePath(Application.ExeName)+'DB\main DB.ini');
IniFile.WriteString('oledb','Data Source',ExtractFilePath(Application .ExeName)+'DB\MainDB.mdb');
strConnection:='Provider='+IniFile. ReadString('oledb','Provider','')+' ;';
strConnection:=strConnection+'User ID='+IniFile.ReadString('oledb','Us er ID','')+';';
strConnection:=strConnection+'Data Source='+IniFile.ReadString('oledb' ,'Data Source','')+';';
strConnection:=strConnection+'Mode= '+IniFile.ReadString('oledb','Mode' ,'')+';';
strConnection:=strConnection+'Exten ded Properties='+IniFile.ReadString('ol edb','Extended Properties','')+';';
strConnection:=strConnection+'Persi st Security Info='+IniFile.ReadString('oledb',' Persist Security Info','')+';';
strConnection:=strConnection+'Jet OLEDB:System database='+IniFile.ReadString('oled b','Jet OLEDB:System database','')+';';
strConnection:=strConnection+'Jet OLEDB:Registry Path='+IniFile.ReadString('oledb',' Jet OLEDB:Registry Path','')+';';
strConnection:=strConnection+'Jet OLEDB:Database Password='+IniFile.ReadString('oled b','Jet OLEDB:Database Password','')+';';
strConnection:=strConnection+'Jet OLEDB:Engine Type='+IniFile.ReadString('oledb',' Jet OLEDB:Engine Type','')+';';
strConnection:=strConnection+'Jet OLEDB:Database Locking Mode='+IniFile.ReadString('oledb',' Jet OLEDB:Database Locking Mode','')+';';
strConnection:=strConnection+'Jet OLEDB:Global Partial Bulk Ops='+IniFile.ReadString('oledb','J et OLEDB:Global Partial Bulk Ops','')+';';
strConnection:=strConnection+'Jet OLEDB:Global Bulk Transactions='+IniFile.ReadString(' oledb','Jet OLEDB:Global Bulk Transactions','')+';';
strConnection:=strConnection+'Jet OLEDB:New Database Password='+IniFile.ReadString('oled b','Jet OLEDB:New Database Password','')+';';
strConnection:=strConnection+'Jet OLEDB:Create System Database='+IniFile.ReadString('oled b','Jet OLEDB:Create System Database','')+';';
strConnection:=strConnection+'Jet OLEDB:Encrypt Database='+IniFile.ReadString('oled b','Jet OLEDB:Encrypt Database','')+';';
strConnection:=strConnection+'Jet OLEDB:Compact Without Replica Repair='+IniFile.ReadString('oledb' ,'Jet OLEDB:Compact Without Replica Repair','')+';';
strConnection:=strConnection+'Jet OLEDB:SFP='+IniFile.ReadString('ole db','Jet OLEDB:SFP','')+';';
IniFile.Free;
ADOQuery1.ConnectionString:=strConn ection;
ADOQuery1.Active:=TRUE;
except
end;
end;
solyr вне форума Ответить с цитированием
Старый 28.11.2009, 08:13   #4
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
Проца позволяющая производить соед-е с БД в независимости от расположения проги. БД Access должна быть в кталоге DB, которые в свою очередъ находится в катлоге программы
не проще при build-e ConnectionString оставить в пути к базе
db/имя файла базы.mdb
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 28.11.2009, 09:50   #5
solyr
 
Регистрация: 28.11.2009
Сообщений: 6
По умолчанию

Проще, но вдруг в приложении пригодится в опциях менять настройки соединения. Тут как бы с заделом на будущее
solyr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
База данных Alex XXX Помощь студентам 3 08.08.2008 10:23
База данных xakkkkker БД в Delphi 1 22.03.2008 12:03
База SQL !!! Noor Помощь студентам 19 16.06.2007 09:53