AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Exception richtig behandeln

Ein Thema von Jens Hartmann · begonnen am 4. Okt 2009 · letzter Beitrag vom 8. Jan 2010
 
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#1

Exception richtig behandeln

  Alt 4. Okt 2009, 13:30
Hallo zusammen,

ich habe mal eine Frage zur Behandlung von Exceptions. Ich lese Daten aus einer Textdatei in eine Datenbank ein.

Wenn jetzt z.B. Das eingelesen Datum kein gültigen Datumswert hat, wird natürlich eine Meldung beim eintragen in die Datenbank erzeugt, die mir sagt, '' ist kein gültiges Datum. (siehe Anhang). Wie kann ich jetzt in mein Commit eine sauber Exeptionbehandlung einbauen, die diese Datensätze einfach nicht übernimmt.

Probiert habe ich das ganz so, funktioniert aber leider nicht.

Delphi-Quellcode:
  VST.BeginUpdate;
  for i := 0 to High(Parser.EntriesMB256) do begin
  Daten := TOMBSerie.Create;
  with Daten do
  begin
  DM_PS.Qry_InsertMB256.Close;
  DM_PS.QryImportMB256.ParamByName('LfdNr').AsInteger := Parser.EntriesMB256[i].LfdNr;
  DM_PS.QryImportMB256.ParamByName('Datum').AsDate := StrToDate(Parser.EntriesMB256[i].Datum);
  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;

  try

    DM_PS.ConPSSecur.Commit;
    DM_PS.QrySelectMaxIDMB256.Open;

  except
    on e : Exception Do begin
      ShowMessage(e.Message);
      end;

  end;



    Daten.ID := DM_PS.QrySelectMaxIDMB256.FieldByName('ID').AsInteger;
    Daten.LfdNr := Parser.EntriesMB256[i].LfdNr;
    Daten.Datum := Parser.EntriesMB256[i].Datum;
    Daten.Uhrzeit := Parser.EntriesMB256[i].Uhrzeit;
    Daten.Ereignis := Parser.EntriesMB256[i].Ereignis;
    Daten.Teilnehmer := Parser.EntriesMB256[i].Teilnehmer;
    Daten.Bereich := Parser.EntriesMB256[i].Bereich;
  end;
  VST.AddChild(nil, Daten);
  DM_PS.QrySelectMaxIDMB256.Close;
  Label6.Caption := IntToStr(StrToInt(Label6.Caption)+1);
  ProgBarDatei.Position := ID;
  Inc(ID);
  VST.ScrollIntoView(VST.GetLast, true);
  VST.EndUpdate;

  DM_PS.QrySelectMaxIDMB256.Close;
  end;
end;
Danke schon mal und Gruß

Jens
Angehängte Grafiken
Dateityp: gif exeption_2_187.gif (7,5 KB, 14x aufgerufen)
Dateityp: gif exeption_1_695.gif (8,3 KB, 10x aufgerufen)
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz