Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 28.12.2017, 15:27   #1
Armageddets
Форумчанин
 
Регистрация: 30.06.2012
Сообщений: 126
Репутация: 10
По умолчанию Связка БД через 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, 15:37   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,592
Репутация: 6210
По умолчанию

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

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

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

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

На самом деле нужно правильно заполнить 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 в 12:55.
Black Fregat вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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


15:20.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru