assignFromField method

void assignFromField(
  1. TField? field
)

Implementation

void assignFromField(TField? field) {
  if (field == null) return;
  _dataType = field.dataType;
  switch (field.dataType) {
    case TFieldType.ftUnknown:
      databaseErrorFmt(SUnknownParamFieldType, [name], dataSet);
    case TFieldType.ftSmallint:
      asSmallInt = field.asInteger;
      break;
    case TFieldType.ftWord:
      asWord = field.asInteger;
      break;
    case TFieldType.ftInteger:
    case TFieldType.ftAutoInc:
      asInteger = field.asInteger;
      break;
    case TFieldType.ftBCD:
    case TFieldType.ftCurrency:
      asCurrency = field.asCurrency;
      break;
    case TFieldType.ftFloat:
      asFloat = field.asFloat;
      break;
    case TFieldType.ftBoolean:
      asBoolean = field.asBoolean;
      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:
    case TFieldType.ftString:
    case TFieldType.ftMemo:
    case TFieldType.ftADT:
    case TFieldType.ftFixedChar:
      asString = field.asString;
      break;
    case TFieldType.ftTime:
    case TFieldType.ftDate:
    case TFieldType.ftDateTime:
      asDateTime = field.asDateTime;
      break;
    case TFieldType.ftBytes:
    case TFieldType.ftVarBytes:
      value = field.asVariant;
      break;
    case TFieldType.ftFMTBcd:
      asFMTBCD = field.asBCD;
      break;
    case TFieldType.ftFixedWideChar:
    case TFieldType.ftWideString:
      asWideString = field.asWideString;
      break;
    default:
      if (_dataType != TFieldType.ftCursor &&
          _dataType != TFieldType.ftArray &&
          _dataType != TFieldType.ftDataSet &&
          _dataType != TFieldType.ftReference) {
        databaseErrorFmt(SBadParamFieldType, [name], dataSet);
      }
  }
}