Mahlzeit!
Ich hab hier ein arg seltsames Phänomen. Folgede einfache Sache:
Delphi-Quellcode:
Qry.SQL.Text := 'INSERT IGNORE INTO bild_dyn SET ElementName = "'+Components[i].Name+'"';
Qry.Execute;
führt zu diesem Fehler:
Code:
---------------------------
Anwendungsfehler
---------------------------
Exception EUniError in Modul MC_ZusatzZwenkau.exe bei 0011F9E0.
#42S22Unknown column 'T1Max' in 'field list'.
---------------------------
OK
---------------------------
Der Inhalt von
SQL.Text ist zum Zeitpunkt des Executes:
'INSERT IGNORE INTO bild_dyn SET ElementName = "T1Max"'
Also nichts spannendes. Die "Qry" ist eine einfache TUniQuery, die an anderen Stellen auch ihren Dienst tut, und die Tabelle nutzen wir in dieser Form auch schon einige Zeit (ElementName ist das einzige NOT NULL Feld darin, und auch der einzige Index). Das trat erst jetzt auf, wo ich die alten Zeos-Kompos gegen UniDAC getauscht habe, mit Zeos ging das bisher.
Aber wie kommt UniDAC hier auf den Trichter, den einer Spalte zugewiesenen WERT als Spaltennamen zu interpretieren?
Der selbe Fehler tritt auch auf, wenn ich das Statement so schreibe:
'INSERT IGNORE INTO bild_dyn (ElementName) VALUES ("T1Max")'
Beide gehen aus einem anderen
SQL Client heraus auch ohne Murren.
Ich bin etwas ratlos
Hat da wer eine spannende Idee parat? Dankschö schonmal!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)