Delphi-Quellcode:
{...}
while not qrPersonen.eof do
begin
LPersonenRec := TJSONArray.Create;
LPersonenRec.add(qrPersonen.FieldByName('PERSONID').AsLargeInt);
LPersonenRec.add(qrPersonen.FieldByName('NAMEN').AsString);
LPersonenRec.add(qrPersonen.FieldByName('TITEL').AsString);
LPersonenRec.add(qrPersonen.FieldByName('VORNAME').AsString);
LPersonenRec.add(qrPersonen.FieldByName('GEBURTSDATUM').AsString);
LPersonenRec.add(qrPersonen.FieldByName('PERSONALNR').AsString);
LPersonenRec.add(qrPersonen.FieldByName('EINTRITTJAHR').AsInteger);
LPersonenRec.add(qrPersonen.FieldByName('FACHNR').AsLargeInt);
LPersonenRec.add(qrPersonen.FieldByName('FACH').AsString);
LPersonen.Add(LPersonenRec);
qrPersonen.next;
end;
{...}
Du kannst vermutlich eine Menge Zeit einsparen, wenn Du die Felder nicht für jeden Datensatz sondern einmal vor der Schleife ermittelst:
Delphi-Quellcode:
{...}
var
fldPERSONID,
fldNAMEN,
fldTITEL,
fldVORNAME,
fldGEBURTSDATUM,
fldPERSONALNR,
fldEINTRITTJAHR,
fldFACHNR,
fldFACH: TField;
{...}
fldPERSONID := qrPersonen.FieldByName('PERSONID');
fldNAMEN := qrPersonen.FieldByName('NAMEN');
fldTITEL := qrPersonen.FieldByName('TITEL');
fldVORNAME := qrPersonen.FieldByName('VORNAME');
fldGEBURTSDATUM := qrPersonen.FieldByName('GEBURTSDATUM');
fldPERSONALNR := qrPersonen.FieldByName('PERSONALNR');
fldEINTRITTJAHR := qrPersonen.FieldByName('EINTRITTJAHR');
fldFACHNR := qrPersonen.FieldByName('FACHNR');
fldFACH :=qrPersonen.FieldByName('FACH');
while not qrPersonen.eof do
begin
LPersonenRec := TJSONArray.Create;
LPersonenRec.add(fldPERSONID.AsLargeInt);
LPersonenRec.add(fldNAMEN.AsString);
LPersonenRec.add(fldTITEL.AsString);
LPersonenRec.add(fldVORNAME.AsString);
LPersonenRec.add(fldGEBURTSDATUM.AsString);
LPersonenRec.add(fldPERSONALNR.AsString);
LPersonenRec.add(fldEINTRITTJAHR.AsInteger);
LPersonenRec.add(fldFACHNR.AsLargeInt);
LPersonenRec.add(fldFACH.AsString);
LPersonen.Add(LPersonenRec);
qrPersonen.next;
end;
{...}