TCSVDataset FieldDefs defaults to ftString, 255 when reading from CSV- file lazarus / 16-Databases ---------------------------------------------------------------------- Vodnik · 2023-03-02 09:17 I can't succeed defining  CSVDataset1.FieldDefs in case when dataset is linked to existing CSV-file. When dataset is opened, FieldDefs are overwritten with DataType=ftString and Size=255. Is it a bug, an idea or I'm doing something wrong? Test project  attached. First run - no CSV file - FieldDefs are OK - CSV file is created accordingly. Second run - CSV file exist - FieldDefs are default - record appended to CSV in wrong format. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i program TestCSVDS; uses csvdataset, sysutils, db; var  CSVDataSet1: TCSVDataSet;     CSVFileName: String = 'data.csv';     I: Integer; begin  CSVDataset1:=TCSVDataset.Create(nil);  try    CSVFileName:=ExtractFilePath(Paramstr(0)) + CSVFileName;    CSVDataset1.FileName:=CSVFileName;    CSVDataset1.CSVOptions.FirstLineAsFieldNames:=False;    CSVDataset1.FieldDefs.Add('Date and time', ftDateTime);    CSVDataset1.FieldDefs.Add('Duration', ftTime);    CSVDataset1.FieldDefs.Add('Event', ftString,40);     if FileExists(CSVFileName) then begin       Writeln('File '+CSVFileName+' exist');     end else begin       CSVDataset1.CreateDataset;       Writeln('File '+CSVFileName+' not exist');     end;    CSVDataset1.Open;    CSVDataset1.AppendRecord([EncodeDate(2023,03,03), EncodeTime(13,08,01,000),'Oleg']);    for I:= 0 to csvdataset1.FieldDefs.Count-1 do begin      Writeln('Record: ',I,', data type: ',csvdataset1.FieldDefs.Items[I].DataType,', data size: ', csvdataset1.FieldDefs.Items[I].Size);    end;    CSVDataset1.Close;  CSVDataset1.Free;    Readln;  except   end;end.  File data.csv after 2 runs: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i 03.03.2023,13:08:01,Oleg44988,"0,547233796296296",Oleg ---------------------------------------------------------------------- tatamata · 2023-03-02 11:07 Thank you for asking this question, I have noticed and wondering about the same thing while working on new ZMSQL version. Curious to see answers.