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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2010, 16:21   #1
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию ADOConnection

Такая проблема. База на SQl, приложение на делфи. На данный момент я перенес свою базу и приложение на другой компьютер. Базу подключил успешно, а вот с приложением беда...
Компонент ADOConnection расположен на DataModule, но зайти в DataModule и поменять настройки я не могу, вылетает ошибка мол соединение не найдено, а если делать отмену то вылетает другая ошибка "операция прервана пользователем".
Скажите существует способ перенастроить ADOConnection, не заходя в DataModule? У всех компонентов в дата модуле свойство актив:=тру. Или может как-нить все таки можно в датамодуль зайти то?
Explosion вне форума Ответить с цитированием
Старый 13.04.2010, 16:25   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну открой dfm файл связанный с DataModule, найди в нем ADOConnection и поправь свойства нужные.
Я лично так делю, если делфи проект не хочет нормально грузить, из-за того что пытается открыть несуществующее подключение.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2010, 17:26   #3
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию

Спасибо большое за подсказку. Открыл дфм файл все свойства объектов active сделал false, переименовал экземпляр, но все равно не помогает. Захожу в приложение пытаюсь открыть дата модуль - опять выскакивает злосчастное окошко "Database login: AdoConnection1", нажимаю ок и все тоже самое...
Вот код из дфм...
Код:
object ADOConnection1: TADOConnection
    Connected = false
    ConnectionString = 
      'Provider=SQLNCLI.1;Integrated Security=SSPI;Persist Security Inf' +
      'o=False;Initial Catalog=Interactive;Data Source=EXPLOSION'
    Provider = 'SQLNCLI.1'
    Left = 40
    Top = 8
  end
EXPLOSION это имя экземпляра, раньше он назывался HOMMIKOI. Свойство коннектед фолс... что еще можно сделать?

Господа программисты, Help! =)

Последний раз редактировалось Stilet; 14.04.2010 в 12:48.
Explosion вне форума Ответить с цитированием
Старый 14.04.2010, 12:39   #4
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
Сообщение от Explosion Посмотреть сообщение
Господа программисты, Help! =)
А детальней проблему описать?
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 15.04.2010, 17:35   #5
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию

В первом посте старался описать как можно подробней проблему.

В любом случае проблему решил следующим образом. Перед тем, как переносить приложение со старого компьютера на другой, установил у ADOConnection свойства connected, Keep Connection, Login Prompt : = False. И теперь, перенеся на любой другой компьютер приложение, дата модуль открывается без ошибки и можно спокойно поменять настройки и имя экземпляра бд. Спасибо всем.

Последний раз редактировалось Explosion; 15.04.2010 в 17:37.
Explosion вне форума Ответить с цитированием
Старый 15.04.2010, 22:09   #6
bezOn
Пользователь
 
Регистрация: 14.04.2010
Сообщений: 51
По умолчанию

И на будущее, всегда когда компилишь, следи чтобы Connection := False;
И уже при создании форма, программа сама подключалась.

Я например всегда так делаю. Чтобы не замарачиваться с путями к базе
в свойствах DataModule.onCreate

Код:
  
procedure TDM.DataModuleCreate(Sender: TObject);
begin

  TRY
    {Подключение к базе данных}
     DBMain.DatabaseFileName := SysUtils.ExtractFileDir(Application.ExeName)+'\database_name.***';
     DBMain.Connected := True;

  EXCEPT
    DBMain.Connected := False;
    Application.MessageBox(
        'Ошибка подключения к базе данных!'+#13+
        'Дальнейшее продолжение работы невозможно.',
        'Connection error to database', MB_OK+MB_ICONERROR);

    Application.Terminate;
    Exit;
  END;

end;
И всё... теперь мне неважно на каком диске или подпапке находится моя программа.
Из того места где запущен exe файл, используется путь к базе данных.
Если при подключении к таблице происходит ошибка.
То появляется сообщение и программа закрывается.

Последний раз редактировалось bezOn; 15.04.2010 в 23:18. Причина: люблю я это дело....
bezOn вне форума Ответить с цитированием
Старый 16.04.2010, 15:46   #7
Explosion
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 50
По умолчанию

Спасибо огромнейшее за совет
Explosion вне форума Ответить с цитированием
Старый 16.04.2010, 15:54   #8
bezOn
Пользователь
 
Регистрация: 14.04.2010
Сообщений: 51
По умолчанию

рад был помочь.
bezOn вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADOConnection nikori БД в Delphi 2 17.06.2009 09:53
ADOConnection к удаленной БД za4ot БД в Delphi 7 16.01.2009 11:53
ADOConnection.connectionString AnnNet Общие вопросы Delphi 2 16.09.2008 09:31
Соединение с БД Access (ADOConnection) Washington БД в Delphi 5 12.03.2007 17:14