Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADOConnection [D6, Access]


saNat ©   (2004-10-14 04:43:00) 

Мне нужно установить соединение с БД Access через ADO. Как устанавливаются параметры мастером понятно. А как правильно установить путь к БД программно. При редактировании строки возникает ошибка:

Buffer:='Microsoft.Jet.OLEDB.4.0;'+
        'Data Source='+'C:\WIN_98\Рабочий стол\ТРПО\'+'Base\TestBase.mdb;'+
        'Persist Security Info=False;'+
        'Jet OLEDB:Database Password=001007326';
BDConnect.ConnectionString:=Buffer;
BDConnect.Connected:=True;


"Project Test.exe raised exception class EOleException with message 'Невозможно найти устанавливаемый ISAM'. Process stopped. Use Step or Run to continue."

Строку Buffer получил следующим образом: установил параметры мастером, скопировал из свойства ConnectionString. Далее работая как с обычной строкой можно менять путь. Или я не прав?

С уважением...


diabolik_krsk   (2004-10-14 15:14:00) [1]

Например так (создаем ADOConnection полностью програмно):


var ADOC : TADOConnection;
begin
ADOC:=TADOConnection.Create(nil);
ADOC.Provider:='Microsoft.Jet.OLEDB.4.0'; {выбираем провайдера для соединения}
ADOC.Mode:=cmShareDenyNone; {указываем права доступа}
ADOC.ConnectionString:='Data Source='+ExtractFilePath(ParamStr(0))+';Persist Security Info=False'; {указываем путь к базе}
ADOC.LoginPrompt:=false;
ADOC.Name:='Connection';
ADOC.Connected:=true;
end;


При этом ExtractFilePath(ParamStr(0))извлекает полный путь к Вашей программе (там где она расположена) с постановкой в конце пути префикса '\'


sniknik   (2004-10-14 08:31:00) [2]

Buffer:='Provider=Microsoft.Jet.OLEDB.4.0;'+


Slider007   (2004-10-14 06:27:00) [3]

ой блин извини не дочитал до конца :)


Slider007   (2004-10-14 06:22:00) [4]

а ты создай подключение мастером, потом скопируй получившийся ConnectionString и вставь его в программу, должно получиться.
И по моему лучше писать не "BDConnect.Connected:=True;", а "BDConnect.Open;", хотя может и нет разницы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо