Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
Вопрошающий   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.029 c
3-1084825843
Dmitry Vyacheslavovich
2004-05-18 00:30
2004.06.06
Путь к базе данных


4-1083758886
Ragazor
2004-05-05 16:08
2004.06.06
Инфа по COM и LPT


1-1085036335
cardinal
2004-05-20 10:58
2004.06.06
Многострочность в TreeView


14-1084968224
WebErr
2004-05-19 16:03
2004.06.06
Не запускается 3DMark 2001


14-1084739595
VID
2004-05-17 00:33
2004.06.06
Html-таблица + Excel + VBA.... доступ к html-объектам.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский