Главная страница
    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.46 MB
Время: 0.032 c
1-1085368608
SASH2
2004-05-24 07:16
2004.06.06
Сообщение о загрузке формы?


3-1084428750
goozman
2004-05-13 10:12
2004.06.06
SQL запрос


6-1082481420
Deff
2004-04-20 21:17
2004.06.06
Найти компь.теры в сети. Отобразить в виде дерева.


14-1084803148
Delphi5.01
2004-05-17 18:12
2004.06.06
Mircosoft Access, eto realno?


6-1081850108
Alexey_
2004-04-13 13:55
2004.06.06
Обработка ошибки компонента TNMHTTP





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский