Woodchuck Geschrieben 14. August 2002 Geschrieben 14. August 2002 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
Gast King555 Geschrieben 14. August 2002 Geschrieben 14. August 2002 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?
Woodchuck Geschrieben 14. August 2002 Autor Geschrieben 14. August 2002 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
Gast King555 Geschrieben 14. August 2002 Geschrieben 14. August 2002 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.
Woodchuck Geschrieben 14. August 2002 Autor Geschrieben 14. August 2002 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
Gast King555 Geschrieben 14. August 2002 Geschrieben 14. August 2002 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?
Bitschubser Geschrieben 15. August 2002 Geschrieben 15. August 2002 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden