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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2017, 14:27   #1
Armageddets
Форумчанин
 
Регистрация: 30.06.2012
Сообщений: 145
По умолчанию Связка БД через Database и Table

Я умею работать с БД через компоненты ADO, но требуется связать таблицу Access с Dbgid через компоненты DataBase и Table (их нужно расположить на DataModule).

Пробовал разные варианты и читал статьи в интернете. Но не выходит. Последний код следующий:

Код:
DataModule2.Database1.AliasName:='Data1';
  DataModule2.Database1.DatabaseName:=ExtractFileDir(Application.ExeName)+'\bd.mdb';
  DataModule2.Database1.Connected:=True;

  DataModule2.Table1.DatabaseName:=DataModule2.Database1.AliasName;
  DataModule2.Table1.TableName:='Такси';
  DataModule2.Table1.Active:=true; //
  DataModule2.DataSource1.DataSet:=DataModule2.Table1;

  form3.show;
  form3.DBGrid1.DataSource:=DataModule2.DataSource1;
  form3.DBNavigator1.DataSource:=DataModule2.DataSource1;
  Form1.Visible:=false;
Выскакивает ошибка Unknown database. Я понимаю, что оно не может найти БД, но как правильно указать мою Бд я не знаю. Подскажите, пожалуйста.

Весь проект прилагаю ниже:
Проект
Armageddets вне форума Ответить с цитированием
Старый 28.12.2017, 14:37   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Установи BDE, настрой его, возможно и в ODBC заглянуть потребуется. А надо такое давным-давно не поддерживаемое старьё использовать? ADOTable чем не подошло?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.12.2017, 15:33   #3
Armageddets
Форумчанин
 
Регистрация: 30.06.2012
Сообщений: 145
По умолчанию

Это задание с университета - поэтому выбирать не приходится... Приходится мучаться так.
Armageddets вне форума Ответить с цитированием
Старый 28.12.2017, 15:41   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Armageddets Посмотреть сообщение
Приходится мучаться так.
кошмар. технология BDE умерла более 10 лет назад.
Зачем тормошить труп - непонятно!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.12.2017, 11:26   #5
Fleg
 
Регистрация: 24.05.2011
Сообщений: 3
По умолчанию

попробуйте заменить строку
Цитата:
DataModule2.Database1.DatabaseName: =ExtractFileDir(Application.ExeName )+'\bd.mdb';
на
Цитата:
DataModule2.Database1.DatabaseName: =ExtractFileDir(Application.ExeName )+'bd.mdb';
Fleg вне форума Ответить с цитированием
Старый 29.12.2017, 11:48   #6
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

На самом деле нужно правильно заполнить Database.Params
http://delphiworld.narod.ru/new/open_access_db.html
Цитата:
Код:
DatabaseName = any_name (или alias_name)
DriverName   = MSACCESS
LoginPrompt  = False
Params       = PATH=d:\path
               DATABASE NAME=d:\path\filename.mdb
               TRACE MODE=0
               LANGDRIVER=Access General
               USER NAME=Admin
               PASSWORD=your_password
               OPEN/MODE=READ/WRITE
               SQLPASSTHRU MODE=NOT SHARED
Возможно, не все эти параметры реально нужны, лично с Access через BDE не работал.
Но для Paradox подход именно такой - параметры базы выставляются в Database.Params,
важно правильно выставить Database.DriverName, а Database.DatabaseName - это алиас для использования в DataSource

Последний раз редактировалось Black Fregat; 29.12.2017 в 11:55.
Black Fregat вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pivot Table через C# Iriss C# (си шарп) 0 14.10.2014 14:50
display:table-cell Внутри <table>. Padding не пашет. Kolik317 HTML и CSS 4 19.05.2011 21:05
Как обработать таблицу <table></table> и отобразить данные в программе? Человек_Борща Работа с сетью в Delphi 1 05.10.2010 15:42
нужна одно table где все rows from table 1 но и еще добавленных table 2 Why Помощь студентам 0 20.09.2010 10:29
insert через table->grid: ошибка Geddar БД в Delphi 2 06.06.2008 13:43