474 |
|
PSingle(SQLData)^ := Value; |
475 |
|
SQL_SHORT: |
476 |
|
if Scale < 0 then |
477 |
< |
PShort(SQLData)^ := SafeSmallInt(NewNumeric(Value,Scale).getRawValue) |
477 |
> |
PShort(SQLData)^ := SafeSmallInt(DoubleToNumeric(Value).AdjustScaleTo(Scale).getRawValue) |
478 |
|
else |
479 |
|
IBError(ibxeInvalidDataConversion, [nil]); |
480 |
|
SQL_LONG: |
481 |
|
if Scale < 0 then |
482 |
< |
PLong(SQLData)^ := SafeInteger(NewNumeric(Value,Scale).getRawValue) |
482 |
> |
PLong(SQLData)^ := SafeInteger(DoubleToNumeric(Value).AdjustScaleTo(Scale).getRawValue) |
483 |
|
else |
484 |
|
IBError(ibxeInvalidDataConversion, [nil]); |
485 |
|
SQL_INT64: |
486 |
|
if Scale < 0 then |
487 |
< |
PInt64(SQLData)^ := NewNumeric(Value,Scale).getRawValue |
487 |
> |
PInt64(SQLData)^ := DoubleToNumeric(Value).AdjustScaleTo(Scale).getRawValue |
488 |
|
else |
489 |
|
IBError(ibxeInvalidDataConversion, [nil]); |
490 |
|
SQL_TEXT, SQL_VARYING: |
510 |
|
if Scale = -4 then |
511 |
|
PCurrency(SQLData)^ := Value |
512 |
|
else |
513 |
< |
PInt64(SQLData)^ := NewNumeric(Value).clone(Scale).getRawValue; |
513 |
> |
PInt64(SQLData)^ := CurrToNumeric(Value).AdjustScaleTo(Scale).getRawValue; |
514 |
|
Changed; |
515 |
|
end |
516 |
|
end; |
543 |
|
CheckActive; |
544 |
|
case GetSQLType of |
545 |
|
SQL_LONG: |
546 |
< |
PLong(SQLData)^ := SafeInteger(Value.clone(Scale).getRawValue); |
546 |
> |
PLong(SQLData)^ := SafeInteger(Value.AdjustScaleTo(Scale).getRawValue); |
547 |
|
SQL_SHORT: |
548 |
< |
PShort(SQLData)^ := SafeSmallInt(Value.clone(Scale).getRawValue); |
548 |
> |
PShort(SQLData)^ := SafeSmallInt(Value.AdjustScaleTo(Scale).getRawValue); |
549 |
|
SQL_INT64: |
550 |
< |
PInt64(SQLData)^ := Value.clone(Scale).getRawValue; |
550 |
> |
PInt64(SQLData)^ := Value.AdjustScaleTo(Scale).getRawValue; |
551 |
|
SQL_TEXT, SQL_VARYING: |
552 |
|
SetAsString(Value.getAsString); |
553 |
|
SQL_D_FLOAT, |