![]() |
Fehler ermitteln und Ausgeben
aloha...
ich denke mir das es wahrscheinlich so ein theme bzw. frage schon mal gab... leider hab ich gerade bei meiner suche im forum nichts gefunden was mir weiterhilft... so hab grad folgendes problem... ich füge sätze von einem .txt file zu meiner mysql datenbank hinzu... hab das ganze schön in eine try except schleife gepackt, das falls mein sql befehl nicht erfoglreich war mein programm weiterläuft... tritt ein fehler auf, geb ich mir denn sql befehl + satz aus dem .txt file denn ich zur db hinzufügen wollte in ein anderes .txt file aus... im prinzip weiß ich auch wo der fehler liegt (ich versuch einen satz hinzuzufügen der bereits vorhanden ist also doppelter key)... mich würde jetzt nur mal interessieren, ob mir delphi bzw. mein system nicht eine entsprechende fehlermeldung zurück gibt, und wenn ja wie komm ich da ran??? hier ist mal noch ein bischen code:
Delphi-Quellcode:
ich hab dieses thema hier in sonstige fragen zu delphi gepackt, weil mich dieses thema auch allgemein interessiert..
procedure TMain_Form.prAddLOGPFL(aErgebnis : Array of String; sRow : String);
var s : String; begin Try With (dbm.Dat1Query) Do Begin Application.ProcessMessages; SQL.Clear; s := ('Insert Into DB1.Dat1 (ID, Style, PT, SalesOrg, ErstDate, Row_ID, ' +' Color, Style_No, Old_Color, TextilCD1, Per1, ' +' TextilCD2, Per2, TextilCD3, Per3, TextilCD4, ' +' Per4, TextilCD5, Per5, PSID1, PSID2, PSID3, ' +' PSID4, PSID5, PSID6) ' +'Values('''+aErgebnis[0]+''','''+aErgebnis[1]+''', '''+aErgebnis[2]+''', '''+aErgebnis[3]+''', ' +' '''+aErgebnis[4]+''', '''+aErgebnis[5]+''', '''+aErgebnis[6]+''', ' +' '''+aErgebnis[7]+''', '''+aErgebnis[8]+''', '''+aErgebnis[9]+''', ' +' '''+aErgebnis[10]+''', '''+aErgebnis[11]+''', '''+aErgebnis[12]+''', ' +' '''+aErgebnis[13]+''', '''+aErgebnis[14]+''', '''+aErgebnis[15]+''', ' +' '''+aErgebnis[16]+''', '''+aErgebnis[17]+''', '''+aErgebnis[18]+''', ' +' '''+aErgebnis[19]+''', '''+aErgebnis[20]+''', '''+aErgebnis[21]+''', ' +' '''+aErgebnis[22]+''', '''+aErgebnis[23]+''', '''+aErgebnis[24]+''') ' +' '); SQL.Add(s); dbm.Dat1Query.ExecSQL; End; Except s := s + #13; sRow := sRow + #13; Writeln(txtFileError, s); Writeln(txtFileError, sRow); If sError = ' ' Then Begin sError := 'X'; End; End; end; also wie ich an die fehlermeldung die mir das system ausgibt rankomme?! |
Re: Fehler ermitteln und Ausgeben
Hallo,
Delphi-Quellcode:
try
except on E: Exception do begin E.message enthält die einfache Fehlermeldung end; end; try except on E: DBError do begin E.XXX kommt immer auf die tatsächlcihe Exception an end; on E: Exception do begin E.message enthält die einfache Fehlermeldung end; end; |
Re: Fehler ermitteln und Ausgeben
danke für denn hinweis...
so gehts mit der komponente mysqldac:
Delphi-Quellcode:
weiß jemand wies mit ZEOS geht???
procedure TMain_Form.prAddDat1(aErgebnis : Array of String; sRow : String);
var s, sMySQLError : String; begin Try With (dbm.Dat1Query) Do Begin Application.ProcessMessages; SQL.Clear; s := ('Insert Into db.Dat1 (ID, Style, PT, SalesOrg, ErstDate, Row_ID, ' +' Color, Style_No, Old_Color, TextilCD1, Per1, ' +' TextilCD2, Per2, TextilCD3, Per3, TextilCD4, ' +' Per4, TextilCD5, Per5, PSID1, PSID2, PSID3, ' +' PSID4, PSID5, PSID6) ' +'Values('''+aErgebnis[0]+''','''+aErgebnis[1]+''', '''+aErgebnis[2]+''', '''+aErgebnis[3]+''', ' +' '''+aErgebnis[4]+''', '''+aErgebnis[5]+''', '''+aErgebnis[6]+''', ' +' '''+aErgebnis[7]+''', '''+aErgebnis[8]+''', '''+aErgebnis[9]+''', ' +' '''+aErgebnis[10]+''', '''+aErgebnis[11]+''', '''+aErgebnis[12]+''', ' +' '''+aErgebnis[13]+''', '''+aErgebnis[14]+''', '''+aErgebnis[15]+''', ' +' '''+aErgebnis[16]+''', '''+aErgebnis[17]+''', '''+aErgebnis[18]+''', ' +' '''+aErgebnis[19]+''', '''+aErgebnis[20]+''', '''+aErgebnis[21]+''', ' +' '''+aErgebnis[22]+''', '''+aErgebnis[23]+''', '''+aErgebnis[24]+''') ' +' '); SQL.Add(s); dbm.Dat1Query.ExecSQL; End; Except On E:EmySQLDatabaseError Do Begin sMySQLError := E.Message; sMySQLError := sMySQLError + #13; sRow := sRow + #13 + #13; Writeln(txtFileError, sMySQLError); Writeln(txtFileError, sRow); If sError = ' ' Then Begin sError := 'X'; End; End; End; end; und wie kann ich allgemeine fehler (also die jetzt nichts mit db's zu tun haben) festestellen, auch so wies oben hoika gepostet hat???? |
Re: Fehler ermitteln und Ausgeben
Jepp,
alle Exceptions sind abgeleitet von Eception selber und erben von dort das E.message Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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-2025 by Thomas Breitkreuz