AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

SQL-Fehler abfangen

Ein Thema von xavior · begonnen am 4. Apr 2004 · letzter Beitrag vom 5. Apr 2004
Antwort Antwort
Shylock

Registriert seit: 29. Mär 2004
7 Beiträge
 
Delphi 7 Professional
 
#1

Re: SQL-Fehler abfangen

  Alt 5. Apr 2004, 11:15
Hallo zusammen,

zu dem eben geposteten Quelltext ersteinmal ein paar Anmerkungen:

1. Ein ExecSQL führt eine SQL Anweisung aus, die keine Datenmenge öffnet. Also z.B. UPDATE oder ein INSERT.
2. Die Methode open() dagegen wird bei einem SELECT angewendet.
3. Beides zusammen macht keinen Sinn.
4. Wenn ein TQuery Objekt benutzt wird, benötigt man in der Regel kein Dataset. Man kann direkt auf dem TQuery arbeiten.
Dieser Code müßte eigentlich beide oben beschriebenen Probleme lösen:

Delphi-Quellcode:
var
 ok :boolean;
begin
    try
        try
           with DBQuery do begin
                close;
                sql.clear;
                sql.Add('SELECT * FROM copyright');
                open;
                while not EOF do begin
               
                      if FieldByName('spalte').asString = 'wertthen ok := true;
                      next;
                end;
           end;
        except
           on e: Exception do begin
              MessageDLG('Fehler!. Tabelle copyright fehlt?'+#13+e.message,mtError,[mbOk],0);
              //Fehlerbehandlung, Programmende, oder was sonst passieren soll, wenn was schiefgeht
              exit;
           end;
        end;
     finally
            DBQuery .close; //WICHTIG Datenmenge wieder schließen
     end;
end;
Und jetzt noch ein Hinweis:
Bei der oben erwähnten Verwendung von TSession.getTableNames sollte man vorsichtig sein. Einem Kollegen von mir ist aufgefallen, dass diese Methode eine eigene Datenbankverbindung erstellt und diese nicht mehr schließt. Das kann zu Lizenzproblemen führen. Man hat als Programmierer auch keine Möglichkeit diese Verbindung "von Hand" wieder zu schließen.

Alle Angaben ohne Gewähr. Der Code wurde nicht getestet
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:42 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