Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Exception richtig behandeln

  Alt 4. Okt 2009, 18:26
Ich würde es andersherum schreiben:
Delphi-Quellcode:
...
      with Daten do
        begin
          
          if TryStrToDate(Parser.EntriesMB256[i].Datum,OutDatum){ = true} then
            try
              DM_PS.Qry_InsertMB256.Close;
              DM_PS.QryImportMB256.ParamByName('LfdNr').AsInteger := Parser.EntriesMB256[i].LfdNr;
              DM_PS.QryImportMB256.ParamByName('Datum').AsDate := OutDatum;
              DM_PS.QryImportMB256.ParamByName('Uhrzeit').AsTime := StrToTime(Parser.EntriesMB256[i].Uhrzeit);
              DM_PS.QryImportMB256.ParamByName('Ereignis').AsString := Parser.EntriesMB256[i].Ereignis;
              DM_PS.QryImportMB256.ParamByName('Teilnehmer').AsString := Parser.EntriesMB256[i].Teilnehmer;
              DM_PS.QryImportMB256.ParamByName('Bereich').AsString := Parser.EntriesMB256[i].Bereich;
              DM_PS.QryImportMB256.ExecSQL;
              DM_PS.ConPSSecur.Commit;
            except
              DM_PS.ConPSSecur.Rollback;
            end
          else
          begin
            FehlerMemo.Lines.Add('Fehler in Datensatz '+IntToStr(Parser.EntriesMB256[i].LfdNr));
            FehlerMemo.Lines.Add('In Datei');
            FehlerMemo.Lines.Add(Label1.Caption);
            FehlerMemo.Lines.Add('');
            Label9.Caption := IntToStr(StrToInt(Label9.Caption)+1);
          end;
...
Wobei ich vielleicht nicht jeden Datensatz committen würde, sondern in Blöcken von z.B. 50. Und müsste anschließend nicht eine neue Transaktion gestartet werden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat