Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.033 c
1-1085128250
JamHole
2004-05-21 12:30
2004.06.06
FontDialog


3-1084785872
AlexKont
2004-05-17 13:24
2004.06.06
Delphi7,MS SQL


14-1084669417
Кот-трахкун
2004-05-16 05:03
2004.06.06
Англоязычная литература он-лайн


4-1083747936
Ozone
2004-05-05 13:05
2004.06.06
Цвет пера


14-1084908537
Juster~~
2004-05-18 23:28
2004.06.06
Компонент