Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подключение БД, Как подключить БД 
:(
    Опции темы
Black_Joker
  Дата 9.9.2005, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 9.11.2002
Где: Таганрог

Репутация: нет
Всего: нет



Как подключить БД не прописывая псевдоним БД?

Надо приносить работу на проверку к начальнику на кафедру.
Машина в ужасном состоянии. Регулярно падает, переустанавливается или просто "исчезают" файлы.
PM   Вверх
Alex
Дата 9.9.2005, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162





--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
bas
Дата 9.9.2005, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: 1
Всего: 2



В TTable::TableName прописывать путь GetCurrentDir+имя файла.
Добавлено @ 12:51
Второй путь создавать (проверять) alias програмно при старте проги и уничтожать при закрытии
PM MAIL   Вверх
Black_Joker
Дата 16.9.2005, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 9.11.2002
Где: Таганрог

Репутация: нет
Всего: нет



А пример можно???


TableName прописывать путь GetCurrentDir+имя файла - получилось для *.db
подскажите, как это же действие реализовать для *.mdb - Акцесовские БД
(В виду своей ленности пользую свою стареньку базу сделанную в акцессе)
PM   Вверх
Guest
Дата 16.9.2005, 11:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот пожалуйста

кидаешь на форму ADOConnected


MainPath := ExtractFilePath(Application.ExeName);//считывание главного пути
ADOConnected.Connected := False; //отключить связь с БД
ADOConnected.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + MainPath + 'Base.mdb;' +
'Mode=Share Deny Read|Share Deny Write;' +
'Persist Security Info=False'

а все остальные компоненты завязываешь через ADOConnected


  Вверх
offline
Дата 16.9.2005, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: 7
Всего: 7



опс забыл войти smile

и все работает
PM MAIL   Вверх
bas
Дата 16.9.2005, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: 1
Всего: 2



Пишу на ВСВ но код надеюсь понятен.
Код

 DBIEnv         Env;
 TStringList * pslAliasParams= new TStringList();
 TStringList * MyList = new TStringList();
 AnsiString TmpDir=GetCurrentDir();
 AnsiString asDir,DirBde;
 try
 {
 DirBde=TmpDir+"\\BDE" ;
 memset(&Env, 0, sizeof(DBIEnv));
 strcpy(Env.szWorkDir, DirBde.c_str());
  DbiInit(&Env);
 DirBde=TmpDir+"\\BDE\\idapi32.cfg" ;
 strcpy(Env.szIniFile,DirBde.c_str());
  DbiInit(&Env);
   } catch(...)
     {
      ShowMessage("\\BDE\\idapi.cfg. Обратитесь к администратору !!!") ;
      Application->Terminate();
     }


 if (!Session->IsAlias ("SOBRDBF") )
 {

   ShowMessage("Нет Aliasa SOBRDBF. Введите параметры к базе данных!!! ");
       try
    {
     MyList->Add("PATH="+TmpDir);
     Session->AddAlias("SOBRDBF", "FOXPRO", MyList);
     Session->GetAliasParams("SOBRDBF",pslAliasParams);
     asDir=pslAliasParams->Strings[0].SubString(6,255);
      if (InputQuery("SobrDbf Alias Путь ","Path",asDir))
       {
        pslAliasParams->Clear();
        pslAliasParams->Add("PATH="+asDir);
        Session->ModifyAlias ("SOBRDBF",pslAliasParams);
        Session->SaveConfigFile ();
       }
    }
    catch(...)
     {
      ShowMessage("Ошибка изменения Aliasa. Обратитесь к администратору !!!") ;
      Application->Terminate();
     }
 }


Цитата(Black_Joker @ 16.9.2005, 07:59)
как это же действие реализовать для *.mdb - Акцесовские БД

mdb - это один файл и надо указать только путь к нему а для каждой таблице уже не надо.
Из хелпа
Код

This example creates an alias for an InterBase database server:

TStringList MyList = new TStringList();

try
{
  MyList->Add("SERVER NAME=IB_SERVER:/PATH/DATABASE.GDB");
  MyList->Add("USER NAME=MYNAME");
  Session1->AddAlias("NewIBAlias", "INTRBASE", MyList);
}
__finally
{
  delete MyList;
}

PM MAIL   Вверх
Alex
Дата 16.9.2005, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162



bas, здесь в общето форум по Delphi smile


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
bas
Дата 19.9.2005, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: 1
Всего: 2



Цитата(Alex @ 16.9.2005, 18:53)
здесь в общето форум по Delphi

BDE - общее , а перевести не сложно, тем более что в хелпе BDE - это есть.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.