AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO: ein simples INSERT
Thema durchsuchen
Ansicht
Themen-Optionen

ADO: ein simples INSERT

Ein Thema von Ajin · begonnen am 6. Dez 2006 · letzter Beitrag vom 7. Dez 2006
Antwort Antwort
Seite 2 von 2     12   
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#11

Re: ADO: ein simples INSERT

  Alt 7. Dez 2006, 12:38
Um es ganz deutlich zu sagen:
1.) Stringliterale werden unter SQL/92 in einfache Hochkommas (nicht doppelte Anführungszeichen) gesetzt.
2.) Man sollte keinesfalls die Hochkommas selbst hinschreiben, sondern immer die Funktion QuotedStr oder noch besser Parameter benützen
Angenommen die Variable wert1 aus dem Beispiel enthielte den Text Wayne's World; die Folge wäre bei Nichtbeachtung dieser Regel eine Syntaxfehler
3.) Niemals in einer Klasse (z.B. von TForm abgeleitet) auf die Instananzvariable zugreifen!!!
Delphi-Quellcode:
procedure TFmain.Button1Click(Sender: TObject);
begin
  // ganz böser Fehler: es wird die Variable FMain angesprochen
  Fmain.ado_query.Active:= FALSE;
  // richtig:
  ado_query.Active:= FALSE;
4.) Finger weg von "try...except", wenn man das Prinzip nicht verstanden hat!
Delphi-Quellcode:
try
   ado_query.ExecSQL;
except
   // Ganz schlecht: es wird nur eine Meldung mit dem völlig aussagelosen Text "Duplikat?" ausgegeben
   // der Fehler könnte aber völlig andere Ursachen haben
   // der Programmfaden wird fortgefüht, obwohl ein Fehler vorliegt
   Messagebox(handle,'Duplikat?','',0);
end;
Delphi-Quellcode:
try
   ado_query.ExecSQL;
except
   // Richtig: vernünftige Fehlermeldung
   on E:Exception do
   begin
      E.Message := 'Fehler bein Einfügen in Tabelle <test>'#13#10+
         '(evtl. Duplikat)'#13#10+
         E.Message; // orginale Fehlermeldung anhängen
      raise; // Exception erneut auslösen
   end;
end;
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:06 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