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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2012, 21:08   #1
jawa250t
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 55
По умолчанию Как подключить бд в АДО чтобы при запусках на других компах не выдавало ошибку пути подключения бд?

Не получается, однако)
jawa250t вне форума Ответить с цитированием
Старый 30.03.2012, 21:12   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Коннектиться при старте программы, предварительно указав в строке соединения путь к базе
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.03.2012, 21:14   #3
jawa250t
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 55
По умолчанию

ну путь то я указал! а как сделать так чтоб при следующих запусках прога не привязывалась к тому месту, где при разработке лежала у меня бд

что то типа с\рабочий стол\и тд
jawa250t вне форума Ответить с цитированием
Старый 30.03.2012, 21:16   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
предварительно указав в строке соединения путь к базе
Имеется ввиду не во время разработки, а во время выполнения. Можно базу в каталог проги поместить, тогда найти этот путь особых проблем нет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.03.2012, 21:20   #5
jawa250t
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 55
По умолчанию

у меня база лежит в папке с экзешником, у меня семерка, если запускать на хр то путь же уже другой будет и будет ошибку выдавать
jawa250t вне форума Ответить с цитированием
Старый 30.03.2012, 21:28   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Application.ExeName возвращает путь и имя вашего исполнимого файла. Уберите имя файла - останется путь и подставте его в строку соединения. И какая разница 7-ка или XP? И посмотрите функцию ExtractFilePath
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 30.03.2012 в 21:32.
Аватар вне форума Ответить с цитированием
Старый 30.03.2012, 21:43   #7
jawa250t
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 55
По умолчанию

все понял, убрал в подключении полностью весь путь оставил токо имя бд и все заработало! спасибо!
jawa250t вне форума Ответить с цитированием
Старый 30.03.2012, 21:45   #8
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Код:
var StringText:WideString;
........................
   StringText:=
  'Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data ' +
  'Source='+GetCurrentDir+'\db.mdb'+
  ';Mode=ReadWrite;Extended Properties="";Persi' +
  'st Security Info=True;Jet OLEDB:System database="";Jet OLEDB:Reg' +
  'istry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engin' +
  'e Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Part' +
  'ial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:Ne' +
  'w Database Password="";Jet OLEDB:Create System Database=False;Je' +
  't OLEDB:Encrypt Database=False;Jet OLEDB:Don'#39't Copy Locale on Co' +
  'mpact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet O' +
  'LEDB:SFP=False';

ADOConnection1.ConnectionString:=StringText;
ADOConnection1.Connected:=true;
// Если у вас все таблицы и запросы подсоединены к ADOConnection1, то так
TADOTable1.Active:=true;
TADOQuery1.Active:=true;
// Если у вас все таблицы и запросы НЕ подсоединены к ADOConnection, то так
TADOTable1.ConnectionString:=StringText;
TADOQuery1.ConnectionString:=StringText;
TADOTable1.Active:=true;
TADOQuery1.Active:=true;
Если БД у вас запаролена, то пароль (Password=) указывается без кавычек.
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 30.03.2012 в 21:47.
Rin вне форума Ответить с цитированием
Старый 30.03.2012, 21:51   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

GetCurrentDir - не факт, что будет каталог єкзешника
Надежнее ExtractFilePath(Application.ExeName )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.03.2012, 22:07   #10
jawa250t
Пользователь
 
Регистрация: 27.01.2011
Сообщений: 55
По умолчанию

аватар, если можно скинь отрывок кода)
jawa250t вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макросы не работают на других компах :( Oooleg Microsoft Office Excel 4 29.01.2010 17:00
Скомпилированая программа на одних компах запускается, а на других выдает ошибку? Velross Помощь студентам 1 14.01.2010 21:05
Нужно, чтобы прога работающая на одних библиотеках, заработала при других rdron Общие вопросы C/C++ 8 08.01.2010 01:24
Не запускается на других компах приложение. evgenrpo Общие вопросы C/C++ 2 04.06.2009 00:36
Как собрать проект Delphi, чтобы он запускался на всех компах? AnGrig Общие вопросы Delphi 13 23.03.2009 18:57