![]() |
AW: Problem mit SQL.Add
Hallo,
sehe ich nicht so! Es ist halt ein Problem, dass hier ankommen, und die einfachsten Sachen ignorieren. wenn ich try except benutzen, dann doch bitte richtig. |
AW: Problem mit SQL.Add
Fahrt mal ein bischen runter, Leute.
Als ich die Eingangsfrage gelesen hatte, dachte ich auch, dass da wesentliche Grundlagen nicht beachtet werden. OK, gedacht habe ich da was anderes, aber formulieren kann man es ja netter. :wink: Dann habe ich genauer hingesehen: - TE seit 2007 hier mit 15 Beiträgen - D5 - Simple SQL-Fehler (und andere Grundlagenfehler) Folglich wenig/keine Erfahrung, Gelegenheitsprogrammierer, o.ä. Das kann man einfach mal berücksichtigen, wenn man antwortet und muss nicht mit dem Hammer drauf hauen. Auch wenn man diese Sachen ständig wiederholen muss. Der harte Kern der DP liest hier sicher täglich mit, aber die meisten kommen nur hierher, wenn sie ein Problem haben und wissen nicht, was man hier regelmäßig wiederholen muss. Also nächstes mal einfach erstmal entspannt zurücklehnen und überlegen, was und wie man antwortet. Oder man hält einfach mal die Finger still. Auf die Grundlagen werden auch andere hinweisen. |
AW: Problem mit SQL.Add
Hi zusammen,
hat eigentlich jemand mal zum TRY - EXCEPT Block was inhaltlich gesagt? Also ich mache das so
Delphi-Quellcode:
Das ist eine ganze einfach Variante, um überhaupt was zu sehen.
try
qry2.Open; except on E: Exception do begin ShowMessage(e.Message); ShowMessage(qry2.SQL.Text); end; end; Wenn im SQL ein Fehler enthalten ist, wird durch den EXECPT das Programm in die Fehlerbehandlung geschickt. Durch den ersten SHOWMESSAGE die Fehlermeldung ansich gezeigt und der zweit SHOWMESSAGE zeigt mir den Inhalt der defekten SQL, damit ich mit der Fehleranalyse beginnen kann. Und im wirklich Leben übergebe ich diese Daten an eine Prozedur, die mir diese Fehlermeldung (mit Programmnamen, Username, wann das gewesen ist, etc.) wiederum in eine DB schreibt. :cry: Da sollte dann natürlich kein Fehler drin passieren :wink: Vielleich ist das ja noch eine kleine Anregung aus der geworfenen Fehlermeldung Nutzen zu ziehen ... Beste Grüße @Sinspin: Sorry - Du hattest das auch schon gezeigt! (Nachtrag) |
AW: Problem mit SQL.Add
Da wurde schon drauf eingegangen.
Ich persönlich würde aber diese Variante bevorzugen und nur die Message ergänzen und die Anzeige der Exception der App überlassen oder zumindest nur einmal Showmessage aufrufen.
Delphi-Quellcode:
try
qry2.Open; except on E: Exception do begin E.Message := E.Message + #13 + qry2.SQL.Text; raise; end; end; |
AW: Problem mit SQL.Add
Wenn "manueller" Zeilenumbruch, dann bitte #10 oder #13#10 oder sLineBreak, denn #13 wird manchmal garnicht als Zeilenumbruch von gewissen Komponenten/Programmen erkannt.
#13 aka CR heißt "vor zur ersten Spalte" (Carriage Return) und #10 aka LF heißt "in nächste Zeile" (Line Feed) Somit ist Windows eigentlich der Einzige, der es richtig macht, genau so, wie die Drucker :angle: Die Einzigen, die #13 hatten, war Apple und auch die haben das vor Jahren aufgegeben (sich die #10 von Linux geklaut). Bleibt aktuell nur noch das kranke RichEdit im Windows, welches auch diesen Mist baut, wobei Delphi dort Eins drauf setzt und noch mehr Mist damit baut, weil es für die #13#10 daraus macht, aber das nur bei der Hälfte der APIs, womit die Indize von Chars im Text nicht mit SelStart/SelLength übereinstimmen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 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