![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несколько вопросов о работе с БД Access [D7, XP]
Kostafey © (2006-01-26 23:11:00)Прошу совета у уважаемых мастеров по следующим вопросам:
1)Есть некая БД, которая корректно работает только на PC с установленной Delphi и Access. Возможность запуска БД на PC без Delphi (но при условии наличия установленной Access) обеспечивает библиотека qtintf70.dll. Однако хотелось бы достичь независимоти программы и от самой Access. (При отсутствии Access выдает сообщение о том что не может найти драйвера по умолчанию).
2)Даже при наличии на PC СУБД Acess и библиотеки qtintf70.dll, но отсутствии самой Delphi сетка (DBGrid) не отображет талицы, а только запросы - имеются ввиду не компоненты Table\Query, а таблицы и запросы самого файла БД (на PC с Delphi - все отображается без проблем)
3)Как лучше всего произвести обновление отображения (например в той же сетке) изменений информации. Refresh - ничего не дает. Я же просто закываю и затем заново открываю наборы данных (Active:=false/true) - ясно, что это не рационально.
Спасибо уже за то что дочитали это до конца. Буду признателен за Ваши советы.
Плохиш (2006-01-27 00:34:00) [41]
> > а вот это похоже на знаменитую ошибку в 17й строке.
>
> С оной не знаком. Просветите неведующих.
Это говорит о том, что всем уже надоело телепатировать и пора бы привести проблеммный код.
Kostafey (2006-01-27 00:26:00) [42]
> > а сетка просто становится пустой при переключении с запроса
> на таблицу!
> а вот это похоже на знаменитую ошибку в 17й строке.
С оной не знаком. Просветите неведующих.
> > Обработчиков ошибок на переключение таблиц/запросов нет
> зато они есть до того... на открытии. насколько телепатор
> позволяет ход событий. запросы сделаны через ADO - "сетка"
> заполнена,
До сих пор согласен
> таблицы в BDE - на открытии дало ошибку о неустановлености
> оного (которая "ушла" в никуда),
Как же это произошло, если на PC на котором пишется прога все работает как по маслу ?
>открытие не состоялось датасет пустой... переключение на него - "сетка" >пустая (ошибки нет! просто переключение на ранее сбойнуший датасет).
Вообше то что ты говоришь похоже на првду. Хотя это и не дает ответ как бороться с этим багом.
Kostafey (2006-01-27 00:18:00) [43]
> а чего же ты пишеш "Есть некая БД"??? писал бы правду -
> "пишу программу ..."
Буду иметь в виду.
> из нее использовалось. библиотека предназначена для эмуляции(/кросплатформенности)...
не использовать лишнего
Ну уж насчет кросплатформенности, то норочно я ничего такого не вносил...
Хм. Да что же там может быть "лишнего" ???
uses DB, DBTables, ADODB; Qt, DBCtrls, Grids;
Вот и все вроде, по БД-то собственно, а остальное уже стандыртный набор для форм...
> по моему BDE в работе с аксесс явно лишнее, qt-шный модуль
Ух ты ! Вот СПАСИБО ! Удалил его - все без проблем откомпилировалось !
> а прятать ошибки нехорошо...
Это нужно для первого запуска программы на новом PC, когда она еще не нашла расположение БД, а компоненты е ней подключенные ее требуют
> > А в как же таки обеспечить независимость от Аccess&Delphi
> ???
> написать прогу правильно. (у каждого свои понятия правильности)
> примерный принцип - не использовать лишнего, а что нужно(без
> чего не удалось обойтись) таскать с собой (например включив
> в созданный для проги сетап).
Ну примерно это я и подозревал, но тут возникает ряд ламерских вопросов:
1) Что должен вклчать этот самый сетап ?
2) Как его сделать ?
sniknik (2006-01-27 00:12:00) [44]> Обработчиков ошибок на переключение таблиц/запросов нет -
> ...
зато они есть до того... на открытии. насколько телепатор позволяет ход событий. запросы сделаны через ADO - "сетка" заполнена, таблицы в BDE - на открытии дало ошибку о неустановлености оного (которая "ушла" в никуда), открытие не состоялось датасет пустой... переключение на него - "сетка" пустая (ошибки нет! просто переключение на ранее сбойнуший датасет).
sniknik (2006-01-27 00:03:00) [45]> а сетка просто становится пустой при переключении с запроса на таблицу!
а вот это похоже на знаменитую ошибку в 17й строке.
sniknik (2006-01-27 00:02:00) [46]> ??? так я и пишу эту прогу, а что до ламера, то см. название раздела форума. :)
а чего же ты пишеш " Естьнекая БД"??? писал бы правду - "пишу программу ..."
> Какие к черту модули, при чем тут Linux. Доступ происходит через стандартный ADOConnection. Библиотеку
> qtintf70.dll программа сама запрашивает.
просто так не запросит... а раза запрашивает значит чтото из нее использовалось. библиотека предназначена для эмуляции(/кросплатформенности) программ на уровне кода, типа пишеш в винде после перекомпиляеш прогу в линуксе и получаеш программу для линукса, блаж конечно, но вот при том тут линух.
> А в как же таки обеспечить независимость от Аccess&Delphi ???
написать прогу правильно. (у каждого свои понятия правильности) примерный принцип - не использовать лишнего, а что нужно(без чего не удалось обойтись) таскать с собой (например включив в созданный для проги сетап).
по моему BDE в работе с аксесс явно лишнее, qt-шный модуль тоже, а прятать ошибки нехорошо... они для того и выводятся чтобы по ним судить о том что именно "глюкнуло".
Kostafey (2006-01-26 23:52:00) [47]
> > вывод ощибок просто "стрятали"...
>
> Тоже верно !
Ох ! Не правда ! Оказывается ошибок нет вовсе !
Обработчиков ошибок на переключение таблиц/запросов нет -
ОШИБКА НЕ ВЫДАЕТСЯ, ХОТЯ ЕЕ ВЫВОД И НЕ СПРЯТАН, а сетка просто становится пустой при переключении с запроса на таблицу!
Kostafey (2006-01-26 23:46:00) [48]
> совет один - смени программиста, вернее найди и закажи ему
> программу если она еще нужна. т.к. эту писал ламер однозначно.
> ..
??? так я и пишу эту прогу, а что до ламера, то см. название раздела форума. :)
> если прогу специально не делали с CLX вместо VCL
Да, прога под VCL
> положили компонент другой (/использовали модули) с той
> платформы
Какие к черту модули, при чем тут Linux. Доступ происходит через стандартный ADOConnection. Библиотеку qtintf70.dll программа сама запрашивает.
> судя по компонентам использовалось BDE
Это верно
> вывод ощибок просто "стрятали"...
Тоже верно !
> аксесс и тут полностью ни при чем. плюс не причем и дельфи
> (первый случай тоже под сомнением).
А в как же таки обеспечить независимость от Аccess&Delphi ???
> 3) нормальный способ, а зачастую единственный...
Ok! Спасибо, правда уже при небольшом количестве записей происходит ощутимая пауза, а ведь БД даже не начала еще заполняться !
sniknik (2006-01-26 23:31:00) [49]> Буду признателен за Ваши советы.
совет один - смени программиста, вернее найди и закажи ему программу если она еще нужна. т.к. эту писал ламер однозначно...
1) qtintf70.dll это замена об борланда линуксового QT, на котором там все овновано практически а в виндах он и даром не надь...
если прогу специально не делали с CLX вместо VCL то значит положили компонент другой (/использовали модули) с той платформы.
аксесс тут полностью ни при чем.
2) судя по компонентам использовалось BDE, а судя по отсутствию характерных сообщений об его отсутствии (дельфи не стоит и самостоятельно не ставился), вывод ощибок просто "стрятали"...
аксесс и тут полностью ни при чем. плюс не причем и дельфи (первый случай тоже под сомнением).
3) нормальный способ, а зачастую единственный...