[SOLVED] Proper way to assign data to fields? lazarus / 16-Databases ---------------------------------------------------------------------- BigChimp · 2011-07-31 15:58 Hi, While writing a test program with TBufDataset, I'm trying to create a dataset with as many field types as possible. The following code compiles: Code: [Select]  FTestDataset.Fieldbyname('ftBCD').Asfloat := Testextended;   FTestDataset.Fieldbyname('ftBlob_4096').Asstring := Teststring;   FTestDataset.Fieldbyname('ftBoolean').Asboolean := Testboolean;   FTestDataset.Fieldbyname('ftBytes').Asstring := Teststring;   FTestDataset.Fieldbyname('ftCurrency').Ascurrency := Testextended;   FTestDataset.Fieldbyname('ftDate').Asdatetime :=Testdatetime;   FTestDataset.Fieldbyname('ftDateTime').Asdatetime :=Testdatetime;   FTestDataset.Fieldbyname('ftDBaseOle').Asstring := Teststring;   FTestDataset.Fieldbyname('ftFixedChar_2').Asstring :=Teststring;   FTestDataset.Fieldbyname('ftFixedWideChar_2').Asstring :=Teststring;   FTestDataset.Fieldbyname('ftFloat').Asfloat := Testextended;   FTestDataset.Fieldbyname('ftFMTBcd').Asfloat := Testextended;   FTestDataset.Fieldbyname('ftFmtMemo').Asstring :=Teststring;   FTestDataset.Fieldbyname('ftGraphic').Asstring := Teststring;   FTestDataset.Fieldbyname('ftGuid').Asinteger :=Testinteger; //check if this works   FTestDataset.Fieldbyname('ftInteger').Asinteger :=Testinteger;   FTestDataset.Fieldbyname('ftLargeint').Asinteger :=Testinteger;   FTestDataset.Fieldbyname('ftMemo').Asstring :=Teststring;   FTestDataset.Fieldbyname('ftOraBlob').Asstring := Teststring;   FTestDataset.Fieldbyname('ftOraClob').Asstring := Teststring;   FTestDataset.Fieldbyname('ftParadoxOle').Asstring := Teststring;   FTestDataset.Fieldbyname('ftSmallInt').Asinteger :=Testinteger;   FTestDataset.Fieldbyname('ftString_1').Asstring :=Teststring;   FTestDataset.Fieldbyname('ftString_256').Asstring :=Teststring;   FTestDataset.Fieldbyname('ftTime').Asdatetime :=Testdatetime;   FTestDataset.Fieldbyname('ftTypedBinary').Asstring := Teststring;   FTestDataset.Fieldbyname('ftVarBytes').Asstring := Teststring;   FTestDataset.Fieldbyname('ftVariant').Asstring := Teststring;   FTestDataset.Fieldbyname('ftWideMemo').Asstring := Teststring;   FTestDataset.Fieldbyname('ftWideString').Asstring := Teststring;   FTestDataset.Fieldbyname('ftWord').Asinteger := Abs(Testinteger); ... but I'm sure I'm doing something wrong in some cases. Running this code gives an access violation when printing the output from ftBytes: Code: [Select]  for Fieldcounter:= 0 to FTestDataset.Fields.Count-1 do   begin     writeln('Field: ' + FTestDataset.Fields[FieldCounter].FieldName + ' has value ' + FTestDataset.Fields[FieldCounter].AsString);   end; Questions: what is the proper way to assign values to these data fields and is there some documentation/reference for that? Thanks. ---------------------------------------------------------------------- BigChimp · 2011-08-08 11:16 Doesn't seem possible to use ftVarBytes and ftVariant in TBufDataset... http://bugs.freepascal.org/view.php?id=19930