Форум: "Базы";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
ВнизБольшие числа 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c