setData method
Implementation
void setData(TValueBuffer buffer) {
DateTime fromTimeStamp(int t, int d) =>
timeStampToDateTime(TTimeStamp(t, d));
switch (_dataType) {
case TFieldType.ftUnknown:
databaseErrorFmt(SUnknownParamFieldType, [name], dataSet);
case TFieldType.ftSmallint:
asSmallInt = _varAsInteger(buffer.value);
break;
case TFieldType.ftWord:
asWord = _varAsInteger(buffer.value);
break;
case TFieldType.ftInteger:
case TFieldType.ftAutoInc:
asInteger = _varAsInteger(buffer.value);
break;
case TFieldType.ftCurrency:
asCurrency = _varAsFloat(buffer.value);
break;
case TFieldType.ftFloat:
asFloat = _varAsFloat(buffer.value);
break;
case TFieldType.ftBoolean:
asBoolean = _varAsBoolean(buffer.value);
break;
case TFieldType.ftString:
case TFieldType.ftFixedChar:
asString = _varAsString(buffer.value);
break;
case TFieldType.ftMemo:
asMemo = _varAsString(buffer.value);
break;
case TFieldType.ftTime:
asTime = fromTimeStamp(_varAsInteger(buffer.value), dateDelta);
break;
case TFieldType.ftDate:
asDate = fromTimeStamp(0, _varAsInteger(buffer.value));
break;
case TFieldType.ftDateTime:
asDateTime = timeStampToDateTime(
mSecsToTimeStamp(_varAsFloat(buffer.value).truncate()));
break;
case TFieldType.ftCursor:
_value = 0;
break;
case TFieldType.ftBlob:
case TFieldType.ftGraphic:
case TFieldType.ftFmtMemo:
case TFieldType.ftParadoxOle:
case TFieldType.ftDBaseOle:
case TFieldType.ftTypedBinary:
case TFieldType.ftOraBlob:
case TFieldType.ftOraClob:
final s = _varAsString(buffer.value);
setBlobData(s.codeUnits, s.length);
break;
case TFieldType.ftFMTBcd:
asFMTBCD = _varAsFloat(buffer.value);
break;
default:
databaseErrorFmt(SBadParamFieldType, [name], dataSet);
}
}