| 
| 
 | Вопрос # 742/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты! Как сделать что-бы программыс таблицами - даже с одной - работали и без Delphi? Ещё - я правильно понимаю - что-бы в Rave-report шли связанные таблицы надо связывать из по ADO? Если так, то где прочитать про это - ку меня есть десяток эл. книг - но всё как-то поверхностно. Delphi изучаю недавно, но я способный :)
 
|  |   Вопрос задал: Бояджи Вадим Валерьевич (статус: Посетитель)Вопрос отправлен: 13 июля 2007, 15:34
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Бояджи Вадим Валерьевич!1) Забыть о DBE. Не использовать его.
 2) Не писать прямых путей, только относительные либо давать возможность задать их в настройках.
 3) отключить использование Run-Time пакетов.
 
 По поводу RaveReport ничего не скажу - не использовал.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 13 июля 2007, 15:48
 
 |  
 Мини-форум вопросаВсего сообщений: 18; последнее сообщение — 16 июля 2007, 22:24; участников в обсуждении: 3. 
|   | Бояджи Вадим Валерьевич (статус: Посетитель), 13 июля 2007, 15:55 [#1]:Насчёт путей - конечно. Напрмер на форме DataSource, Table и DBGrid - у Table в FileName записано Names.db - вообще без путей - и уже только с Delphi  А если не использовать DBE, тогда что использовать? Спасибо за ответы |  
|   | Вадим К (статус: Академик), 13 июля 2007, 16:02 [#2]:С вашего ответа вижу, что у вас бде. Можно использовать ADO - очень неплохо получается. немножко усилий, и только используем другие, но подобные компоненты. А так всё похоже будет. Нам надо будет TAdoConnections - для подключения к базе.
 TAdoTable вместо TTable
 TADOQuery вместо TQuery и так дальше. Только вместо алиаса мы теперь прописываем свойство Connection
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Бояджи Вадим Валерьевич (статус: Посетитель), 13 июля 2007, 16:07 [#3]:Да вот утром боролся с ADO - ничего не пойму - вроде по правилам создал БД, в БДЕ администраторе зарегистрировал псевдоним, - не предлагает мне ADOTable имя таблицы выбрать - хоть умри. А если насильно записать Инспекторе объектов - припопытке ADOTable активировать всё равно пишет что такой объект не найден... |  
|   | Бояджи Вадим Валерьевич (статус: Посетитель), 13 июля 2007, 16:09 [#4]:И вообще-то а нужно-ли так уж создавать БД да с псевдонимом - может достаточно просто двух (или более) таблиц? |  
|   | Вадим К (статус: Академик), 13 июля 2007, 16:14 [#5]:всё вам решать. алиасы создали для решения проблемы с полными путями. Звучало заманчиво - в BDE Administrator'е попровили путь и пару настроек и приложение работает. Но сейчас отказались от BDE. >>может достаточно просто двух (или более) таблиц?
 Это вам виднее. Хотя выбор вы дали неверно. две таблицы, даже без алиаса это всё равно  БД.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Вадим К (статус: Академик), 13 июля 2007, 16:16 [#6]:>>Да вот утром боролся с ADO - ничего не пойму - вроде по правилам создал БД, в БДЕ администраторе зарегистрировал псевдоним Эти вещи не совместимы межды собой. Если говорить простыми приблежениями, то TAdoConnection выполняет роль BDE Administrator'а
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Бояджи Вадим Валерьевич (статус: Посетитель), 13 июля 2007, 16:22 [#7]:Ого, так что-же мне может из BDE админа удалить мой псевдоним? |  
|   | Вадим К (статус: Академик), 13 июля 2007, 16:26 [#8]:можно и бде админа удалить, если хочеться - он не мешает ADO. Правда не советую удалять. мало чего там делфи может не найти и ругаться захочет. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Бояджи Вадим Валерьевич (статус: Посетитель), 13 июля 2007, 16:38 [#9]:Вот я в АДОКонекшен пишу Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files;Mode=ReadWrite;Extended Properties="DSN=dBASE Files;DBQ=D:\Shop;DefaultDir=D:\Shop;DriverId=533;MaxBufferSize=2048;PageTimeout=5;";Initial Catalog=D:\Shop Нажимаю Коннектед - есть коннектед. В АДОТейблах пишу Коннекшен - АДОКоннекшен, а таблицы выбирать не дают. Датасурсы обычные TDataSource - правильно? Не надо каких-то других? |  
|   | Вадим К (статус: Академик), 13 июля 2007, 16:43 [#10]:TDataSource - да обычные. А кто включит соединение?AdoConnection.active=true;??? Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Бояджи Вадим Валерьевич (статус: Посетитель), 13 июля 2007, 17:21 [#11]:Ну так в Объект инспекторе ставлю Connected в True - съедает, вроде нормально. Не, я в принципе не пойму - если не объект инспекторе всключать Connected в True, а в проге, скажем кнопкой какой - то как-же я в DBGrid'ах задам колумны, и всякие там мастерсурсы и мастерфилфы у ADOTable-ов? А всё это в проге уже задавать - заморочно... |  
|   | Вадим К (статус: Академик), 13 июля 2007, 17:27 [#12]:Включили в инспекторе. Настроились. Потом отключили и запускаем прогу. Конечно не забываем добавить  включение оного в проге. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Бояджи Вадим Валерьевич (статус: Посетитель), 13 июля 2007, 17:35 [#13]:Я как Вы говорите поробовал: отключил AdoConnection1 и procedure TForm1.Button1Click(Sender: TObject);
 begin
 AdoConnection1.Open;
 ADOTable1.TableName:='D:\Shop\Projects.db';
 ADOTable1.Active:=true;
 Button1.Caption:=ADOTable1.TableName;
 end;
 Ну кепшен - это для контроля. По прежнему ругается что Project CyberVadShop raised exception class EOleException with message 'Недопустимое значение свойства. Убедитесь что значение введено правильно.'
 |  
|   | Вадим К (статус: Академик), 13 июля 2007, 17:43 [#14]:>>ADOTable1.TableName:='D:\Shop\Projects.db'; Так нельзя. Может перейдёте на Аксес? Проблем меньше. Сразу скажу, что юзать надо JET драйвер. и работать будет даже на 200 чистой винде.
 Но такое присвоение в адо вообще не допустимо. вам нужно вначале сформировать струку подключения. А потом подключиться. И лишь потом задать таблицу, но не ввиде файла, а в виде имени таблицы.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Бояджи Вадим Валерьевич (статус: Посетитель), 13 июля 2007, 17:48 [#15]:Нет уж спасибо, аксес не надо, буду дельфи бороть. Вот недавно написал прогу - чат по сети - со смайликами, всеми делами. И БД победим! Спасибо. Буду дальше думать. |  
|   | Вадим К (статус: Академик), 13 июля 2007, 17:51 [#16]:не надо путать сам аксес и jet драйвер. в данном случае аксес используется как удобный инструмент для создания таблиц и тестирования запросов. Но для работы программы он совсем не нужен. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Бояджи Вадим Валерьевич (статус: Посетитель), 14 июля 2007, 09:41 [#17]:Добрейшего утра!! Я дико извиняюсь – вчера я последнюю Вашу фразу «Может перейдёте на Аксес? Проблем меньше.» неправильно понял – я понял, типа, не заняться-ли Вам чем-то другим и оставить Delphi в покое. Но дома, ближе к полуночи, раньше никак, я подраскинул мозгами (как Штирлиц) и понял смысл всего сказанного  и работа закипела. DataBase Desctop почему-то отказался создавать БД для Аксеса, но я не унывал. Запустил Аксес-2003 и влёгкую сделал новую БД с двумя таблицами. Далее в ADOConnection создал по новой Connection String, указал на провайдера Microsoft Jet 4.0 OLE DB Provider, указал на мою новую БД *.mdb. В Object Inspector у ADOConnection Connected? Есть Connected! Потом как обычно – в ADOTable’s выбираются TableName, Active, DataSource’s кивают на свои ADOTable’s, ну там MasterSource, MasterField – и всё! Это всё в Object Inspector, в проге ничего не надо включать-подключать.  Мало того что работает, так ведь работает и на компе где Delphi нет и не будет! Собственно, что и требовалось доказать. Ну, а теперь когда две таблицы удалось связать по ADO, я не сомневаюсь, что и RaveReport будет печатать то что надо, то есть краткую информация о проекте и всю технику с ним связанную.
 ОГРОМНОЕ ВАМ МЕРСИ ЗА НАСТАВЛЕНИЕ НА ПУТЬ ИСТИННЫЙ!
 Искренне Ваш Бояджи Вадим Валерьевич, ака CyberVad.
 |  
|   | Градов Ю.М. (статус: 8-ой класс), 16 июля 2007, 22:24 [#18]:В дополнение ко всему, я бы посоветовал компонент     DBISAM Additional Software and Utilities (платный) в связке с FastReport (бесплатен - версия Free) [URL]http://www.elevatesoft.com/scripts/download.dll?action=listprod&product=dbisam[/URL]
 [URL]http://soft-free.ru/content/view/3894/113/[/URL]
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |