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

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

Проблема с JetSQL [D6, Paradox]


Victor! ©   (2004-11-03 11:18:00) 

Использую ADOQuery и JetSQL (таблицы в Paradox), выполняю запрос содержащий строку "Avg(Param/99.8)" (запрос идет к часовой базе данных и группируется в сутки).
И возникает странная проблема, вместо значения появляется "BCD Overflow", а колонка DBGrid`a растягивается на всю ширину. При чем на другом компе, значение выводится правильно, остается только глюк с колонкой DBGrid`a. Если выполнять с "Avg(Param/99)", или просто "Param/99.8" без группировки, то все нормально. В чем проблема? Может в JetSQL есть какие-то настройки.


sniknik   (2004-11-08 18:09:00) [1]

значит не судьба.


Victor!   (2004-11-08 17:52:00) [2]

А без исталлятора его никак не поставить, а то нет у меня исталятора


sniknik   (2004-11-08 11:22:00) [3]

а сам вывод сделать не можеш?

изначально же грешил на BDE (разницу в установках), ты сказал BDE одинаковый... (обманул практически в свете последнего топика)...
в итоге ткнулся в ошибку на разнице.
перечитай > sniknik ©   (04.11.04 11:39) [3]
как используется BDE jet-ом... неясно еще? как по твоему он будет использовать недоустановленную (как еще назвать > Victor! ©   (05.11.04 16:48) [11] ?) копию у которой только название и присутствует?

ставь нормально.


Victor!   (2004-11-08 11:12:00) [4]

Кто-нибудь подскажет?


Victor!   (2004-11-05 16:48:00) [5]

Дело чуть-чуть подладилось, перенес курсор на сервер ошибки "BCD Overflow" вроде исчезли. Однако на компе (2000), на котором BDE не инсталлировано, а просто скопировано и прописано в реестр, выдает ошибку "Invslid field size", опять же, только в случае использования агрегативных функций. Т.е. вопрос: вот если нет инсталлятора BDE, что и куда еще надо прописать чтобы оно корректно стало.


sniknik   (2004-11-05 12:22:00) [6]

ADOQuery.Fields[i].OnGetText


Victor!   (2004-11-05 12:13:00) [7]

А где это такое событие?


msguns   (2004-11-04 18:25:00) [8]

Field.OnGetText ?


Victor!   (2004-11-04 17:14:00) [9]

Вопрос 1: как обновить JET (программу предполагается ставить от 98 и выше, как это корректно зделать при инсталяции)
Второе: ошибка возникает в случае: ADOQuery.Fields[i].AsЧтоУгодно  раз в XP это работает а в 2000 нет, значит все таки JET плохо считает.
(Можно ли что нибудь сделать чтобы в связке ADOQuery -> DataSource -> DBGrid , DBGrid не вызывал ошибку при перерисовке)


sniknik   (2004-11-04 14:56:00) [10]

> А вообще, что за BCD.
+ F1


sniknik   (2004-11-04 14:55:00) [11]

> может Jet разной.
вот и обнови до последней версии.

> Если в ADOQuery установить EnableBCD = false
то BCD поле преобразуется к формату с плаваюшей запятой. (екстендед вроде бы)
кстати показательно, значит ошибка на получении результата в программу а не jet-те на вычислении.
проверь, строкой проходит?
SELECT CStr(Avg(Param/99)) FROM Table


Victor!   (2004-11-04 14:33:00) [12]

BDE то одной версии, может Jet разной. А вообще, что за BCD. Если в ADOQuery установить EnableBCD = false, то в XP проблема исчезает. Правда в 2000, все равно ошибка.


sniknik   (2004-11-04 11:39:00) [13]

> А что именно посмотреть-то.
есть ли оно вообще и версию того что есть.

данные надеюсь берутся всеми одни и те же?

просто jet при установленности BDE использует его для парадокса, и если с одними и теми же данными в одном случае ошибка в другом без проблем, то надо сравнивать чем они отличаются. (где BDE не установлено используется внутренняя урезаная его копия)


Victor!   (2004-11-04 11:01:00) [14]

А что именно посмотреть-то. (Самое интересное, что есть комп на котором с этими вычислениями вообще ни каких глюков нет)


sniknik   (2004-11-03 11:31:00) [15]

проверь установку BDE на обоих компах. где работает и где нет.
(просто проверить одно предположение)

> остается только глюк с колонкой DBGrid`a
а вот это не глюк, вычисляемые поля со строковыми параметрами получают тип - char(255), а раз у тебя поле BCD то так правильно. (по большому счету BCD это число записанное в строке)
просто сам устанавливай нужную длинну у поля.


Наверх

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