Einzelnen Beitrag anzeigen

shmia

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

Re: fehlermeldung: Missing (;) at the and of sql statement

  Alt 29. Mär 2007, 18:38
Dieses "ON DUPLICATE KEY UPDATE (..." ist doch kein Standard SQL.
Was soll das denn bewirken ??
Wenn man einen Insert mit einem doppelten Key macht, gibt's halt eine Exception und die Datenbank verweigert das Einfügen.
Wenn man ein AutoInc-Feld als Primary Key hat, dann lässt man das Feld einfach aus der Feldliste raus;
die Datenbank regelt das schon.
Wenn man fertige SQL Inserts, Updates oder Deletes hat, setzt man diese am schnellsten
direkt über die Connection ab:
Delphi-Quellcode:
ADOConnection1.Execute('INSERT INTO NAD ( NAD ) VALUES ( '+neuesNAD+')';
// Sollte Feld NAD ein Stringfeld sein, dann so
ADOConnection1.Execute('INSERT INTO NAD ( NAD ) VALUES ( '+QuotedStr(neuesNAD)+')';
Wobei die gezeigte Lösung über Parameter zwar etwas langsamer aber doch zu bevorzugen ist.
Aber eben ohne dieses ON DUPLICATE KEY UPDATE.
Andreas
  Mit Zitat antworten Zitat