Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Несколько вопросов о работе с БД Access [D7, XP]


Страницы:   1 2 3

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) нормальный способ, а зачастую единственный...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо