getDataSize method
Implementation
int getDataSize() {
switch (dataType) {
case TFieldType.ftUnknown:
databaseErrorFmt(SUnknownParamFieldType, [name], dataSet);
case TFieldType.ftBoolean:
return 2; // SizeOf(WordBool)
case TFieldType.ftInteger:
case TFieldType.ftAutoInc:
return 4;
case TFieldType.ftSmallint:
return 2;
case TFieldType.ftWord:
return 2;
case TFieldType.ftTime:
case TFieldType.ftDate:
return 4;
case TFieldType.ftDateTime:
case TFieldType.ftCurrency:
case TFieldType.ftFloat:
return 8;
case TFieldType.ftString:
case TFieldType.ftFixedChar:
case TFieldType.ftMemo:
case TFieldType.ftADT:
return asString.length + 1;
case TFieldType.ftBytes:
case TFieldType.ftVarBytes:
return _value is List ? (_value as List).length : 0;
case TFieldType.ftBlob:
case TFieldType.ftGraphic:
case TFieldType.ftFmtMemo:
case TFieldType.ftParadoxOle:
case TFieldType.ftDBaseOle:
case TFieldType.ftTypedBinary:
case TFieldType.ftOraClob:
case TFieldType.ftOraBlob:
return asString.length;
case TFieldType.ftArray:
case TFieldType.ftDataSet:
case TFieldType.ftReference:
case TFieldType.ftCursor:
return 0;
case TFieldType.ftFMTBcd:
return 8; // SizeOf(TBCD)→double (convention 5)
default:
databaseErrorFmt(SBadParamFieldType, [name], dataSet);
}
}