AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wie SQL (ADO) Fehler abfangen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie SQL (ADO) Fehler abfangen?

Ein Thema von PinkFloydFan · begonnen am 11. Jan 2008 · letzter Beitrag vom 12. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#1

Wie SQL (ADO) Fehler abfangen?

  Alt 11. Jan 2008, 18:11
Datenbank: Access • Zugriff über: ADO / Microsoft Jet 4.0
Hallo ihr da draussen...

Vielleicht kann mir einer von euch mal wieder weiterhelfen...

ich bastle aus veschiedenen Comboboxen eine String zusammen, den ich an ein ADODataSet sende..

Wenn nun aber Fehler in dem String sind, krieg ich zwar ne Meldung, aber die is vom Compiler.

wie schaffe ich es, diese Fehler per Hand abzufangen??


Delphi-Quellcode:
SQLString:= 'Select * from '+ ComboBoxBaugruppe.Text + '_'+ComboBoxECStand.Text+' where Sortbegr = '+ #39+Edit10.Text+#39;
    ADODataSet1.Active := False;
    ADODataSet1.CommandText := SQLString;
    try
      ADODataSet1.Open;
    except
      MessageDlg('Das und das stimmt nicht !!' , mtWarning, [mbOk], 0);
      //weiteres veanlassen
    end;
    
    ADODataSet1.Close;
    .
    .
    .
    //normalen Code weiterarbeiten..

Ich komme nie in die Bedingung "except", auch wenn Fehler in dem SQL-String sind...

warum?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wie SQL (ADO) Fehler abfangen?

  Alt 11. Jan 2008, 18:37
Im Debugger werden Exceptions trotz Handler angezeigt, wenn man das für diesen Fehler nicht deaktiviert. Ausserhalb des Debuggers wird der Fehler aber nicht angezeigt. Mit ADO kenn ich mich aber nicht so aus, es könnte auch möglich sein, das ADO den Fehler auf jedenfall anteigt.
BTW: Ich würde SQL-Parameter verwenden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#3

Re: Wie SQL (ADO) Fehler abfangen?

  Alt 11. Jan 2008, 18:44
@mkinzler:

stimmt! du hast recht!!

ohne Debugger (also die *.exe wegstarten) komm ich plötzlich in meine Exception..


wie krieg ich das auch beim entwanzen hin, gibts da nen Compiler-Befehl??

wär ja umständlich, ständig die exe wegzustarten....


Edit// hab ich vergessen.. was meinst du mit SQL-Parametern?
bin ja auch nicht vertraut mit sql, ADO usw.. (learning by doing.. )
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Wie SQL (ADO) Fehler abfangen?

  Alt 11. Jan 2008, 18:48
Kann man in der IDE abstellen (Debugger-Exceptions)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#5

Re: Wie SQL (ADO) Fehler abfangen?

  Alt 11. Jan 2008, 18:53
da gabs doch früher mal diese {$xy} - Anweisungen...
  Mit Zitat antworten Zitat
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#6

Re: Wie SQL (ADO) Fehler abfangen?

  Alt 12. Jan 2008, 08:22
Ich weiss..

nach oben heben ist nicht erwünscht...

aber bitte mein Edit in Topic3 lesen...

weiss da keine/keiner was???


Zitat:
Edit// hab ich vergessen.. was meinst du mit SQL-Parametern?
bin ja auch nicht vertraut mit sql, ADO usw.. (learning by doing.. )
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Wie SQL (ADO) Fehler abfangen?

  Alt 12. Jan 2008, 08:57
Neue Frage, neuer Thread.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8

Re: Wie SQL (ADO) Fehler abfangen?

  Alt 12. Jan 2008, 09:03
Zitat von PinkFloydFan:
Edit// hab ich vergessen.. was meinst du mit SQL-Parametern?
Du sollst ein allgemeingültiges Select-Statement schreiben und da die Parameter mit konkreten Werten besetzen.

SELECT * FROM TABLEX WHERE :FELD=FELD Rest : ParamByName bzw TDataSet in OH nachlesen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von PinkFloydFan
PinkFloydFan

Registriert seit: 4. Dez 2007
Ort: Straubing
54 Beiträge
 
Delphi 2010 Architect
 
#9

Re: Wie SQL (ADO) Fehler abfangen?

  Alt 12. Jan 2008, 12:01
das mit den allgemein gültigen Select-Statements ist mir schon klar...

es gibt aber (bei mir zumindest) noch tabellen, die erst zur Laufzeit von anderen Usern erstellt werden, die ich zur laufzeit noch nicht sehe, die dbEdits aber schon mitkriegen...


Ich möchte nix weiter als den Fehler

Zitat:
Entweder EOF oder BOF ist True oder der aktuelle Datensatz wurde gelöscht...
Der angeforderte Vorgang benötigt einen aktuellen Datensatz
abzufangen..


und damit meine eigene Behandlungs-Routine starten...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Wie SQL (ADO) Fehler abfangen?

  Alt 12. Jan 2008, 12:02
So wäre es richtig
SELECT * FROM TABLEX WHERE FELD=:FELD; oder
SELECT * FROM TABLEX WHERE Feld=@Feld; je nach DBMS
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 06:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz