Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / EVariantOverflowError / 10 сообщений из 10, страница 1 из 1
17.10.2006, 14:00
    #34060125
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
select @@version
Adaptive Server Enterprise/12.5.1/EBF 11428/P/NT (IX86)/OS 4.0/ase1251/1823/32-bit/OPT/Wed Sep 17 11:10:54 2003

Provider: Sybase.ASEOLEDBProvider
При попытке прочитать 999999999999999999 из decimal(18,0) ( numeric(18,0) )
Код: plaintext
tmpCurrency=ADODataSet->FieldByName(SybaseFieldName)->AsCurrency;
имею
EVariantOverflowError
Overflow while converting variant of type (Decimal) into type (Currency)

Проверил в VS2003 на этом же провайдере - там все сухо... Выходит Борман снова обложался?.. Или это лечиться как-то?.. Я так понимаю происходит переполнение в As...

P.S. Связал с Grid'ом
Grid
BCD overflow


P.P.S. BCB6+sp4, w2k+sp3
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
17.10.2006, 15:33
    #34060500
Марсель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
все правильно, вроде
Currency - это 20 знаков, в том числе 4 после запятой
используй, может поможет
FieldByName('xxx')->Value

кстати как заведены fields в ADODataSet, в дизайн-тайме или в ран-тайме,
если в дизайн, то какого они типа ?
...
Рейтинг: 0 / 0
17.10.2006, 16:30
    #34060750
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
Марсель
используй, может поможет
FieldByName('xxx')->Value

Перепробовал уже все: AsFloat , AsString , AsInteger , AsVariant , AsBCD , AsCurrency , Value - что мертвому припарки... Все тот же EVariantOverflowError

Марсель
кстати как заведены fields в ADODataSet, в дизайн-тайме или в ран-тайме,
если в дизайн, то какого они типа?

DataSet заполняется select'ом в run-time. Тип, согласно FieldDefs-Items[]->DataType - ftBCD.
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
17.10.2006, 17:22
    #34061082
Марсель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
плохо, должно быть ftFMTBcd
ftBcd - втури тотже currency, насколько я помню

PS: модерам - не пинайте за оффтоп :)
...
Рейтинг: 0 / 0
18.10.2006, 11:38
    #34062820
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
Тады шо - сливаем воду?..
Марсель
модерам - не пинайте за оффтоп

А куда еще писать? Борманистам? А сколько из них ваще слово Sybase знает?
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
18.10.2006, 15:48
    #34063972
Марсель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
попробуй поле увеличить до numeric(20,0), или больше
ну или
ADODataSet.EnableBCD := false;

тогда у тебя будет float со всеми вытекающими :)
...
Рейтинг: 0 / 0
18.10.2006, 22:34
    #34065142
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
Марсель
попробуй поле увеличить до numeric(20,0), или больше

ну разве шо ради спортивного интереса... а так - это приблуда, перегоняющая info из Sybase в dbf. По сему заранее неизвестно, какого типа поля будут... а перегнать-то их нуна все...
Марсель
или
ADODataSet.EnableBCD := false;

тогда у тебя будет float со всеми вытекающими :)

не... "...такой хоккей нам не нужен..."
Если это непобедимо - прийдется под .NET переписать... А жаль... Так хотелось что бы все было stanalone (без всех этих "...причалов, пароходов...")
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
18.10.2006, 23:18
    #34065189
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
Ex_Softну разве шо ради спортивного интереса... а так - это приблуда, перегоняющая info из Sybase в dbf. По сему заранее неизвестно, какого типа поля будут... а перегнать-то их нуна все...А зачем тогда что-то писать вообще? isql же это и так умеет.
...
Рейтинг: 0 / 0
19.10.2006, 07:41
    #34065375
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
White Owl
isql же это и так умеет

Ну... Если это не дюжжечки страшная военная тайна
- подскажите: как?
BTW, а char'овские данные он могет в другую cp сразу же при экспорте перегонять? А указать целевую dbf'ку и тока необходимые поля ему можно? А из SP (с несколькими recordset'ами) он данные могет экспортить?
_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
19.10.2006, 18:24
    #34067794
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EVariantOverflowError
Ex_Soft White Owl
isql же это и так умеет

Ну... Если это не дюжжечки страшная военная тайна
Команда OUTPUT.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / EVariantOverflowError / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]