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

Вниз

Большие числа int64/LargeInt   Найти похожие ветки 

 
O.O   (2007-03-11 07:28) [0]

Таблица FireBird, nип поля BigInt.
D6, IBX6.11
Очень неудобно что у TIBQuery.FieldByName и TIBQuery.ParamByName отсутствует тип AsLargeInt а только AsInteger, приходится действовать через преобразование строкового типа в int64 и наоборот
Это только у D6 или D7 тоже?
Никак подругому действовать нельзя?


 
atruhin ©   (2007-03-11 08:53) [1]

C TIBxxx давно не работал, но например у FIB+, TFIBQuery.FielbByName() имеет AsInt64.
TFIBDataset при использовании AsInteger работает с int64.


 
Johnmen ©   (2007-03-11 13:35) [2]


> отсутствует тип AsLargeInt а только AsInteger

Если внимательно читать справку, то станет ясно, что AsInteger приводит к такому целому, каким является поле. Напр., если оно BigInt, то приведётся к int64.


 
O.O   (2007-03-12 07:48) [3]


> Johnmen ©   (11.03.07 13:35) [2]

Неприводится, пробовал.
Хорошо что хоть IBStoredProc.ParamByName("NameParam").AsCurrency берет значение int64.


 
atruhin ©   (2007-03-12 13:39) [4]

Давно пора купить FIB+, там очень много интересного.
С int64 работаю постоянно, все ОК


 
O.O   (2007-03-12 14:19) [5]


> atruhin ©   (12.03.07 13:39) [4]

Наверно Вы правы насчёт FIB+, хотя до выявления подобной недоработки IBX вполне устраивал. А сам факт выглядет странно, ведь формат TLargeIntField есть!, и с ним работает всё нормально, но при динамическом создании SQL запроса сами понимаете :(


 
atruhin ©   (2007-03-12 14:40) [6]

В FIB+ много интересного, например:
централизованная обработка исключений;
кэширование метеданных и блоб полей (актуально для меделенных линий);
нормальное восстановление соединения (хотя не знаю может и в IBX поправили);
и много мелких удобств.


 
O.O   (2007-03-12 16:48) [7]

Спасибо, буду думать.
Видимо новые проекты буду планировать с FIB+.
Вопрос: насколько сложен перевод приложений с IBX на FIB+ ?


 
~SerJant~   (2007-03-13 04:38) [8]


> O.O   (12.03.07 16:48) [7]

Никаких сложностей, направление развития компонентов IBX и FIBPlus одно. В инете есть ...уже бесплатные версии )))


 
atruhin ©   (2007-03-13 14:35) [9]

> В инете есть ...уже бесплатные версии )))

А вот за это RO дают!

> Вопрос: насколько сложен перевод приложений с IBX на FIB+ ?

Есть мастера миграции, но сам не пользовался. А вообще в простом случае, замена компонент + поправить несколько методов.


 
Johnmen ©   (2007-03-13 18:11) [10]


> Johnmen ©   (11.03.07 13:35) [2]
> > отсутствует тип AsLargeInt а только AsIntegerЕсли внимательно
> читать справку, то станет ясно, что AsInteger приводит к
> такому целому, каким является поле. Напр., если оно BigInt,
>  то приведётся к int64.


Ты сам-то справку читал? Похоже, нет, т.к. чушь пишешь.
AsInteger это приведение к 32-битному целому. А к int64 такого приведения нет.


> O.O

Нет никаких проблем.
Берём вариантное значение и его уже приводим к int64:
var i64 : int64;
i64:=FieldByName(...).Value;
Если вдруг значение у поля отсутствует, то перед этим проверь на null.


 
O.O   (2007-03-14 16:50) [11]


> Johnmen ©

Спасибо за совет, попробую



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

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

Наверх




Память: 0.49 MB
Время: 0.05 c
11-1160477968
vampir_infernal
2006-10-10 14:59
2007.06.03
HWND -> PControl


15-1178464612
GrayFace
2007-05-06 19:16
2007.06.03
Трассировка exception и терминология.


2-1179232495
NotAva
2007-05-15 16:34
2007.06.03
сообщение на перерисовку


15-1178362347
ArtemESC
2007-05-05 14:52
2007.06.03
Шахматы...


1-1176217171
I-New
2007-04-10 18:59
2007.06.03
вывод TPopupMenu с Timage при нажатии на левую кнопку мыши