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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2012, 16:03   #1
xsaroo
Пользователь
 
Регистрация: 14.10.2012
Сообщений: 40
По умолчанию Подключение через ADOConnection1.ConnectionString

Пытаюсь изменить путь к подключаемой бд через edit но вылетает ошибка


путь к бд пользователь задает в edite
вот код
Код:
procedure TForm1.Button4Click(Sender: TObject);
var s: string;
begin
s:='';
s:=s+'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=%s;';
s:=s+'Mode=Share Deny None;Extended Properties=dBase 5.0;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";';
s:=s+'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;';
s:=s+'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';

ADOConnection1.Connected:= False;
ADOConnection1.ConnectionString:=Format(s,[edit4.text]);
ADOConnection1.Connected:= True;
end;

Последний раз редактировалось Stilet; 14.10.2012 в 18:20.
xsaroo вне форума Ответить с цитированием
Старый 14.10.2012, 16:51   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

во-первых, попробуйте обойтись без функции Format:
Код:
s:='';
s:=s+'Provider=Microsoft.Jet.OLEDB. 4.0;User ID=Admin;Data Source='+edit4.Text+';';
...
ADOConnection1.Connected := False;
ADOConnection1.ConnectionString := s;
ADOConnection1.Connected := True;
во-вторых, перед тем как сделать Conneted := True; сохраните куда-нибудь ConnectionString - посмотрите, что там творится. попробуйте непосредственно с полученной строкой подключиться.

в-третьих, может быть путь в edit4 задан действительно коряво или неполно?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.10.2012, 17:00   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И зачем вообще путь через эдит задавать? Потенциальное место для кучи ошибок. OpenDialog и OpenDialog.FileName

ADD

Кстати судя по ошибке в edit4.text не путь, а строка 'Edit4' торчит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 14.10.2012 в 17:06.
Аватар вне форума Ответить с цитированием
Старый 14.10.2012, 17:22   #4
xsaroo
Пользователь
 
Регистрация: 14.10.2012
Сообщений: 40
По умолчанию

Все спасибо через диалог и в правду легче
вот только теперь другой вопрос
после закрытия проги путь не сохраняется приходится заново открывать
так вот как сделать чтоб путь сохранялся
xsaroo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить свойство ADOConnection1.ConectionString через edit или каким нибуть другим путем xsaroo БД в Delphi 3 14.10.2012 16:54
подключение двух компьютеров к интернет через одно подключение Chudo4258 Помощь студентам 3 30.03.2010 16:07
Показать ADOConnection1.Connectionstring по нажатию на кнопку hitch1 БД в Delphi 9 07.12.2009 17:44
Подключение БД через прокси D-mon БД в Delphi 2 30.05.2008 15:30
Подключение через proxy Рустам Работа с сетью в Delphi 2 15.11.2007 12:45