Zum Inhalt springen

Syntaxfehler???


Woodchuck

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...