Вниз
Скачать: CL | DM;

Приведение типов   Найти похожие ветки 

 
Вопрошающий   (2004-05-13 13:33) [0]

MS Jet преподносит новые сюрпризы.
В таблице поле [Количество] имеет тип Integer.
Запрос

SELECT
 SUM(Количество) AS [Всего],
 ...


возвращает тип Float.

Как привести результат к типу Integer?


 
Мунька ©   (2004-05-13 13:40) [1]

Привести где? В делфийской программе? Нет ничего проще, записать

Sum : integer
Sum = Round(QUerySum.FieldByName("[Всего]").AsFloat );
Или Вас интересует, как привести в самом запросе? Тогда зачем Вам это надо?


 
Вопрошающий   (2004-05-13 13:48) [2]

Ув. Мунька!

Вопрос идет именно о запросе.

> зачем Вам это надо?

ADOQueryField5: TIntegerField;

При открытии набора данных возникает естетсвенное исключение: Type mismatch for field "Всего", expecting: Integer, actual: Float.


 
Мунька ©   (2004-05-13 13:50) [3]

Что Вам мешает поменять тип поля в запросе ADOQuery? и вообще, Вы уверены, что кличество - целое? Кстати, попытайтесь выполнить этот запрос в Ассеss и посмотрите на тип возвращаемого значения


 
Johnmen ©   (2004-05-13 13:53) [4]

SELECT
CAST(SUM(Количество) AS INTEGER) AS [Всего],
...


 
sniknik ©   (2004-05-13 13:54) [5]

> MS Jet преподносит новые сюрпризы.
Вопрошающий удивлен! он не читал доку по Jet.

;о) (чемто первое заявление на газетный заголовой похоже, надеюсь мое в том же "стиле", скоро будет "развязка" :)


SELECT
Int(SUM(Количество)) AS [Всего],


 
Вопрошающий   (2004-05-13 13:58) [6]

Мне не нужнен результат "1.0". Мне нужно "1". И количество - именно целое, даже длинное целое - или это не я создавал таблицу.

P.S. Предложение сделать Calculated поле (с последующими извращениями) не принимаются... :)


 
Вопрошающий   (2004-05-13 14:03) [7]

2 Johnmen

CAST в MS Jet не работат. Исключение: Неопознанная ошибка.

2 sniknik

Развязки не будет: INT() возвращает все тот же FLOAT. (Или я не пробовал?).


 
Вопрошающий   (2004-05-13 14:17) [8]

Богема нагадила [5] и ушла.


 
sniknik ©   (2004-05-13 15:02) [9]

> Развязки не будет: INT() возвращает все тот же FLOAT. (Или я не пробовал?).
int проводит к типу в запросе (> Вопрос идет именно о запросе.), за то что возвращается он не отвечает. ты посмотри что возвращает твой "незамутненный" вычислениями Integer тем же способом каким счас смотриш.
вот из такого
SELECT
Количество AS [Всего],

> Богема нагадила [5] и ушла.
вот теперь понимаю почему ты не подписываешся.

p.s. перестать отвечать анонимам, чтоли?


 
MIKE kouzmine ©   (2004-05-13 16:15) [10]

sniknik ©   (13.05.04 15:02) [9] Не надо. Ты отвечаешь не только им.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
3-1084529884
jenbond
2004-05-14 14:18
2004.06.06
Округление в StoreProc


1-1085499300
Pupsik
2004-05-25 19:35
2004.06.06
Проблема с Statictext и Windows XP


14-1085075926
sergey
2004-05-20 21:58
2004.06.06
записать ДВД на CD-RW


6-1082086812
dreams
2004-04-16 07:40
2004.06.06
Событие открытия нового окна в TWebbrowser


14-1084864586
abstr
2004-05-18 11:16
2004.06.06
помгите найти исходник или напишите за $ игру CANNON BLOCKS




   Наверх