Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Проблема с JetSQL   Найти похожие ветки 

 
Victor! ©   (2004-11-03 11:18) [0]

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


 
sniknik ©   (2004-11-03 11:31) [1]

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

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


 
Victor! ©   (2004-11-04 11:01) [2]

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


 
sniknik ©   (2004-11-04 11:39) [3]

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

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

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


 
Victor! ©   (2004-11-04 14:33) [4]

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


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

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

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


 
sniknik ©   (2004-11-04 14:56) [6]

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


 
Victor! ©   (2004-11-04 17:14) [7]

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


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

Field.OnGetText ?


 
Victor! ©   (2004-11-05 12:13) [9]

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


 
sniknik ©   (2004-11-05 12:22) [10]

ADOQuery.Fields[i].OnGetText


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

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


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

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


 
sniknik ©   (2004-11-08 11:22) [13]

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

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

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


 
Victor! ©   (2004-11-08 17:52) [14]

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


 
sniknik ©   (2004-11-08 18:09) [15]

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



Страницы: 1 вся ветка

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.032 c
14-1100525614
YurikGL
2004-11-15 16:33
2004.12.05
Internal Server Error


1-1100693931
Шурик Ш
2004-11-17 15:18
2004.12.05
Какой командой можно принудительно завершить работу приложения?


6-1095639045
Лев Ландау
2004-09-20 04:10
2004.12.05
Экономия трафика ложь или быль? (IdHTTP)


1-1101123489
_alex_
2004-11-22 14:38
2004.12.05
Помогите разобраться с задержкой


1-1100689264
Balkon
2004-11-17 14:01
2004.12.05
Совместный доступ двух потоков к объекту TQueue