assignToField method

void assignToField(
  1. TField? field
)

Implementation

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