AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Syntax Fehler?

Ein Thema von Sanguis · begonnen am 18. Mär 2010 · letzter Beitrag vom 18. Mär 2010
Antwort Antwort
Seite 1 von 2  1 2      
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#1

SQL Syntax Fehler?

  Alt 18. Mär 2010, 01:56
Datenbank: SQLite • Version: 3 • Zugriff über: ASQLite Komponenten
Hallo,

ich steh auf dem Schlauch. Folgender Delphi Code:
Delphi-Quellcode:
roster.ASQLite3Query1.Active := false;
 roster.ASQLite3Query1.SQL.Clear;
 roster.ASQLite3Query1.SQL.Add('SELECT * FROM wrestler WHERE PromoID = ' + form1.promID.Caption);
 roster.ASQLite3Query1.Active := true;
Eigentlich ne einfache Sache. Doch ich bekomme immer die Meldung, das es einen Syntax Error near WHERE gibt. Ich komm nicht drauf, was da falsch sein soll. Hab ich Tomaten auf den Augen?

Gruß,
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: SQL Syntax Fehler?

  Alt 18. Mär 2010, 02:42
Kann es sein, dass du das abschließende Hochkomma vergessen hast?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#3

Re: SQL Syntax Fehler?

  Alt 18. Mär 2010, 03:08
Hallo,

das wars! Komischerweise funzt es an anderer Stelle nur ohne ;.
Aber Problem gelöst, danke

Gruß,
Andreas
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: SQL Syntax Fehler?

  Alt 18. Mär 2010, 03:16
Ne, das stimmt so schon (zumindest im Prinzip). Die Caption for die Zusammensetzung eines SQL-Statements zu benutzen ist allerdings schon etwas ungewöhnlich. Steht da im OI oder sonstwo : "Bitte geben sie...", dann kann das weltbeste SQL damit wohl nichts anfangen. 8)

@Das wars : Poste mal das jetzige SQL.ADD. Da ist kein Syntaxfehler.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#5

Re: SQL Syntax Fehler?

  Alt 18. Mär 2010, 10:10
Zitat von Sanguis:
Delphi-Quellcode:
roster.ASQLite3Query1.Active := false;
 roster.ASQLite3Query1.SQL.Clear;
 roster.ASQLite3Query1.SQL.Add('SELECT * FROM wrestler WHERE PromoID = ' + form1.promID.Caption);
 roster.ASQLite3Query1.Active := true;
Um solcherlei Fehler zu vermeiden verwende man Parameter
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

Re: SQL Syntax Fehler?

  Alt 18. Mär 2010, 17:43
Zitat von joachimd:
Um solcherlei Fehler zu vermeiden verwende man Parameter ;)
So ist das!

Und bemüht man den Debugger,sieht man was in "roster.ASQLite3Query1.SQL.Text" steht.
Das ist auch schon mal ein guter Hinweis.


Gruß
K_H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: SQL Syntax Fehler?

  Alt 18. Mär 2010, 18:06
Oder ob, das was in der Caption, steht mit dem Feldtyp vereinbar ist
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: SQL Syntax Fehler?

  Alt 18. Mär 2010, 18:24
Zitat von Sanguis:
roster.ASQLite3Query1.SQL.Add('SELECT * FROM wrestler WHERE PromoID = ' + QuotedStr( form1.promID.Caption )); // hier QuotedStr verwenden!
Du kannst den Text in der WHERE-Klausel nicht einfach so übergeben, er muss schon in Anführungszeichen stehen (ansonsten wurde ja schon gesagt, dass Parameter besser sind)
Ralf Kaiser
  Mit Zitat antworten Zitat
Sanguis

Registriert seit: 20. Jul 2005
Ort: Essen
146 Beiträge
 
#9

Re: SQL Syntax Fehler?

  Alt 18. Mär 2010, 18:43
Nein, in der DB steht das Feld als Integer. Das braucht keine Anführungszeichen.
Problem ist eh gelöst, der fehlende ; wars. Danke nochmal

Gruß,
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: SQL Syntax Fehler?

  Alt 18. Mär 2010, 18:59
Zitat von Sanguis:
Nein, in der DB steht das Feld als Integer. Das braucht keine Anführungszeichen.
Na ja, das konnte man aus dem gegebenen Quelltext nun wirklich nicht ersehen (zumal wenn eine Caption übergeben wird sieht das doch sehr stark nach String aus...)

Ralf Kaiser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz