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

Вниз

Type mismatch?   Найти похожие ветки 

 
off ©   (2003-10-13 08:23) [0]

Приветствую вас труженики цифровых тылов, мастера! Такая проблема:
Работаю на FireBird. В табличке есть три поля (условно, т.к. остальные нас не интересуют)
- CHARGE (integer)
- SUMM (integer)
- USERN (char).
Пишем след. СиКУЛь select sum(CHARGE) CHARGE, sum(SUMM) SUMM, USERN from NACHDEC where USERN="Off" group by USERN
В результате, IBExpert выполняет этот СиКуЛь без всяких претензий и выдает в результате одну строку с суммами по двум полям и сгруппированную по третьему.
Законяем этот же сикуль в делфю в IBQuery1.SQL.Text:="..."
Выполняем и в результате получаем ошибку с сообщением несоотвествии полученого типа (largeInt) объявленному (Integer).
Когда я не поленился и добавил два новых поля SUMM1 b SUMM2 (LargeInt), то все заработало и конечном итоге мне таки удалось получить заветную сумму равную 566, а причем здесь largeInt я так и не понял.
Кто-нибудь может объяснить?


 
stud ©   (2003-10-13 09:22) [1]

а в куери поля добавлял через редактор полей, и потом типы полей не менял?


 
Off ©   (2003-10-13 09:32) [2]

В том то и дело что типы полей везде(и в таблице и в квери) Integer. Да и тип LargeInteger, ни делфя, ни IBExpert не знают (другое дело Int64).


 
stud ©   (2003-10-13 09:34) [3]

попробуй просто удалить поля из квери.


 
Johnmen ©   (2003-10-13 09:36) [4]

Дай алиасам полей имена, отличные от имен полей.

>Когда я не поленился и добавил два новых поля SUMM1 b SUMM2 (LargeInt),

Это про что ?


 
Off ©   (2003-10-13 09:44) [5]

> Johnmen © (13.10.03 09:36) [4]
Это я в квери новые поля добавил типа LargeInt


 
Off ©   (2003-10-13 09:50) [6]


> Johnmen © (13.10.03 09:36) [4]

Это я в квери два новых поля добавил типа LargeInt назвал их как сказано и соответственно изменил сикуль :-)


 
Жук ©   (2003-10-13 11:36) [7]

Зачем такой гемор, когда всё лечится :

> Johnmen © (13.10.03 09:36) [4]
> Дай алиасам полей имена, отличные от имен полей.

?


 
Off ©   (2003-10-13 11:41) [8]

Так вопрос в то как раз в том почему так получилось, а не как лечить :-)


 
Жук ©   (2003-10-13 11:52) [9]

Потому что указанные поля - Integer, ф-ция sum(Integer) - LargeInt


 
Off ©   (2003-10-13 12:07) [10]

> Жук ©
А если поле будет numeric (12,2), то при суммировании проблем не возникнет.



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
1-8392
Eagle Owl
2003-10-22 00:47
2003.11.03
array of Char и TFileStream


1-8440
Stas
2003-10-24 14:31
2003.11.03
Написание компанент


1-8475
_Narayan_
2003-10-23 11:34
2003.11.03
Как получить объект зная его дескриптор ?


14-8654
Gorlum
2003-10-14 11:30
2003.11.03
Про создание карт


6-8559
IGORZ
2003-09-08 13:26
2003.11.03
Сети