Veröffentlicht 14. August 200223 j Mahlzeit! Ich habe in meinem Programm (Borland c++ Builder) folgendes SQL-Statement: ADOQuery1->SQL->Add("insert into T1 (Text) values (:Text)"); Beim Kompilieren gibts keine Fehler. Wenn das Statement im laufenden Programm aufgerufen wird heisst es: Syntaxfehler in INSERT INTO Anweisung... Ich find die Syntax voll ok! Habt ihr ne Idee was er will? Danke, Woody
14. August 200223 j Willst du das Wort ":Text" (ohne "") in das Feld "Text" schreiben oder ist das ein Parameter, der durch einen Wert ersetzt wird? Wenn ja, wie lautet der Wert?
14. August 200223 j Ich mach mal genauere Angaben: Ich hab eine Access DB mit einer Tabelle. Diese besteht aus einem Autowert als Primärschlüssel und einem Memofeld mit der Bezeichnung Text (es sollen lange Texte in die DB geschrieben werden können). Mit dem Borland C++ Builder hab ich ein Formular mit einem TMemo und einem TRichEdit erstellt. Für den Zugriff auf Access verwende ich ADO-Komponenten. Auf Knopfdruck wird der Code von oben ausgeführt, und der Inhalt des entsprechenden Feldes (Memo oder RichEdit, je nach gedrücktem Button) in den Übergabeparameter :Text geschoben. Dann wird das Statement ausgeführt (ExecSQL)... und an der Stelle kommt dann von Access/meinem Programm die Exception mit dem Syntaxfehler. Hilft das weiter? Gruss, Woody
14. August 200223 j Also entweder ist das Feld "Text" kein Memofeld (also ein mehrzeiliges Feld) oder der Text, den du da rein schreibst, befindet sich nicht in Anführungszeichen. Es kann aber auch sein, dass du einfach die falschen Anführungszeichen benutzt, es gibt einfache (') und doppelte ("). Überprüf die drei Sachen mal.
14. August 200223 j Hab ich alles ausprobiert... Nichts hilft. Ich kann den Fehler auch immernoch nicht gewollt erzeugen... mal kommt er und mal nicht... Eigentlich kann das doch nicht sein... *heul* *kopfauftischhau* HILFE!!! Woody
14. August 200223 j Bist du dir sicher, dass es sowohl die Tabelle als auch das Feld gibt, und dass beides so geschrieben wird, wie du es gemacht hast? Und bist du dir absolut sicher, dass die SQL Anweisung falsch ist? Kann es nicht was "drumherum" sein?
15. August 200223 j Original geschrieben von Woodchuck Ich hab eine Access DB mit einer Tabelle. Diese besteht aus einem Autowert als Primärschlüssel und einem Memofeld mit der Bezeichnung Text (es sollen lange Texte in die DB geschrieben werden können). Ich kann mich irren, aber: Memo-Felder sind doch BLOBs? Ich denke, dass du nicht auf diese Weise in ein Blob schreiben kannst. Was aber sicher geht ist ein ADO-Stream. BLOBs sind keine normalen Felder... Grüße Matze
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.