Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten mit TQuery in Datenbank schreiben verursacht Fehler (https://www.delphipraxis.net/86378-daten-mit-tquery-datenbank-schreiben-verursacht-fehler.html)

Seniorenzivi 13. Feb 2007 13:37

Datenbank: Access • Zugriff über: BDE?

Daten mit TQuery in Datenbank schreiben verursacht Fehler
 
Hallo
Ich möchte mit Hilfe eine TQuery´s Daten in eine Access Datenbank schreiben. Leider bekomme ich das nicht ganz hin. Ich bekomme immer die Fehlermeldung "Ungültiges Schlüsselwort Symbol-String: 1, zeilennummer: 1."

Danke für eure Hilfe

Delphi-Quellcode:
SQL.Close;
SQL.SQL.Add('INSERT INTO Fragen (UID, Frage, Antwort 1, Antwort 2, Antwort 3, Antwort 4, Antwort 5) VALUES (:UID, :Frage, :Antwort1, :Antwort2, :Antwort3, :Antwort4, :Antwort5)');
SQL.ParamByName('UID').AsInteger := UID;
SQL.ParamByName('Frage').AsString := Edit2.Text;
SQL.ParamByName('Antwort1').AsString := Edit3.Text;
SQL.ParamByName('Antwort2').AsString := Edit4.Text;
SQL.ParamByName('Antwort3').AsString := Edit5.Text;
SQL.ParamByName('Antwort4').AsString := Edit6.Text;
SQL.ParamByName('Antwort5').AsString := Edit8.Text;
SQL.ExecSQL;

NormanNG 13. Feb 2007 13:39

Re: Daten mit TQuery in Datenbank schreiben verursacht Fehle
 
Hi,


bist du sicher, das die Feldnamen korrekt sind?
z.B.
Zitat:

Antwort 1

Gruber_Hans_12345 13. Feb 2007 13:41

Re: Daten mit TQuery in Datenbank schreiben verursacht Fehle
 
... ansonsten probieren die Feldnamen mit einem leerzeichen einfach unter " zu setzen

Delphi-Quellcode:
SQL.SQL.Add('INSERT INTO Fragen (UID, Frage, "Antwort 1", "Antwort 2", "Antwort 3", "Antwort 4", "Antwort 5") VALUES (:UID, :Frage, :Antwort1, :Antwort2, :Antwort3, :Antwort4, :Antwort5)');

joachimd 13. Feb 2007 13:42

Re: Daten mit TQuery in Datenbank schreiben verursacht Fehle
 
Delphi-Quellcode:
SQL.Close;
SQL.SQL.Add('INSERT INTO Fragen (UID, Frage, [Antwort 1], [Antwort 2], [Antwort 3], [Antwort 4], [Antwort 5]) VALUES (:UID, :Frage, :Antwort1, :Antwort2, :Antwort3, :Antwort4, :Antwort5)');
...

Seniorenzivi 13. Feb 2007 13:46

Re: Daten mit TQuery in Datenbank schreiben verursacht Fehle
 
leider funktioniert es so auch nicht ("Antwort 1" oder [Antwort 1])

NormanNG 13. Feb 2007 13:49

Re: Daten mit TQuery in Datenbank schreiben verursacht Fehle
 
Hi,

Sorry, vergessen: Willkommen in der DP! :oops:

Was ist denn die Fehlermeldung?
Bist du dir sicher mit den Feldernamen?

marabu 13. Feb 2007 13:52

Re: Daten mit TQuery in Datenbank schreiben verursacht Fehle
 
Hallo,

wenn der Zugriff wirklich über die BDE erfolgt, dann muss die Abfrage den Syntax-Regeln von LocalSQL gehorchen - z.B. so:

SQL-Code:
INSERT INTO Fragen f (UID, ... f."Antwort 1", ...
Freundliche Grüße

Seniorenzivi 13. Feb 2007 14:00

Re: Daten mit TQuery in Datenbank schreiben verursacht Fehle
 
Also ich habe in der DB bei den Feldnamen überall einmal das Lerzeichen rausgemacht...Die Fehlermeldung ist jetz weg. Aber, ich bekomme die Fehlermeldung, das Die Tabelle "Fragen" nicht gefunden wurde. Ich denke ich habe da ein kleines Konfigurationsproblem mit meine Objekten.

Ich habe ein TQuery was mit einer TDataSource verbunden ist. Was wiederum mit einem TADOTable verbunden ist.

Danke für eure Hilfe

marabu 13. Feb 2007 14:06

Re: Daten mit TQuery in Datenbank schreiben verursacht Fehle
 
Du musst aufpassen mit der Eigenschaft DataSource - bei der Komponente TQuery steuert die DataSource die Master-Detail-Funktionalität. Mir scheint, das ist nicht unbedingt das, was du hier brauchst. Wenn du weißt was du tust, dann ignoriere meinen Hinweis. Ansonsten entferne DataSource aus TQuery. Wenn du die Query visualisieren möchtest, dann nimm eine DataSource und trage die Query dort als DataSet ein.

Freundliche Grüße

Seniorenzivi 13. Feb 2007 14:18

Re: Daten mit TQuery in Datenbank schreiben verursacht Fehle
 
Zitat:

Zitat von marabu
DAnsonsten entferne DataSource aus TQuery. Wenn du die Query visualisieren möchtest, dann nimm eine DataSource und trage die Query dort als DataSet ein.

Habe ich gemacht, aber wie bekomme ich dann die Verbindung zur Datenbank hin wenn ich als DataSet die SQl drin stehen habe?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz