From b0cf2a2dc62c39848ac26fbb69eaad37ad8cdba9 Mon Sep 17 00:00:00 2001 From: joost Date: Sat, 29 Nov 2008 09:13:10 +0000 Subject: [PATCH] * Use TField.Assignvalue to set the fieldvalues in DoInsertAppend git-svn-id: trunk@12262 - --- packages/fcl-db/src/base/dataset.inc | 16 +--------------- packages/fcl-db/src/base/dbconst.pas | 1 - packages/fcl-db/src/base/fields.inc | 2 +- 3 files changed, 2 insertions(+), 17 deletions(-) diff --git a/packages/fcl-db/src/base/dataset.inc b/packages/fcl-db/src/base/dataset.inc index 8bee42e243..206dfd0c57 100644 --- a/packages/fcl-db/src/base/dataset.inc +++ b/packages/fcl-db/src/base/dataset.inc @@ -880,21 +880,7 @@ begin Insert; for i := 0 to ValuesSize-1 do with values[i] do - case VType of - vtInteger : fields[i].AsInteger := VInteger; - vtBoolean : fields[i].AsBoolean := VBoolean; - vtChar : fields[i].AsString := VChar; - vtWideChar : fields[i].AsString := VWideChar; - vtString : fields[i].AsString := AnsiString(VString); - vtAnsiString: fields[i].AsString := AnsiString(VAnsiString); - vtCurrency : fields[i].AsCurrency := VCurrency^; -// vtWideString: fields[i].AsWideString := VWideString; - vtInt64 : fields[i].AsLargeInt := VInt64^; - vtQWord : fields[i].AsLargeInt := VQWord^; - vtVariant : fields[i].AsVariant := VVariant^; - else - DatabaseError(SIncompatibleTVarRec); - end; {case} + fields[i].AssignValue(values[i]); Post; end; diff --git a/packages/fcl-db/src/base/dbconst.pas b/packages/fcl-db/src/base/dbconst.pas index fa7192a76d..dca2213107 100644 --- a/packages/fcl-db/src/base/dbconst.pas +++ b/packages/fcl-db/src/base/dbconst.pas @@ -44,7 +44,6 @@ Resourcestring STransNotActive = 'Operation cannot be performed on an inactive transaction'; STransActive = 'Operation cannot be performed on an active transaction'; SFieldNotFound = 'Field not found : "%s"'; - SIncompatibleTVarRec = 'Faild to assign one of the TVarRec values into a TField'; SInactiveDataset = 'Operation cannot be performed on an inactive dataset'; SInvalidDisplayValues = '"%s" are not valid boolean displayvalues'; SInvalidFieldKind = '%s : invalid field kind : '; diff --git a/packages/fcl-db/src/base/fields.inc b/packages/fcl-db/src/base/fields.inc index b7c458c573..05c828ab77 100644 --- a/packages/fcl-db/src/base/fields.inc +++ b/packages/fcl-db/src/base/fields.inc @@ -369,7 +369,7 @@ begin vtWideString: AsWideString := WideString(VWideString); vtInt64: - Self.Value := VInt64^; + AsLargeInt := VInt64^; else Error; end;