Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi sql - unknown column (https://www.delphipraxis.net/81680-sql-unknown-column.html)

Luncustaf 1. Dez 2006 14:08

Datenbank: mysql • Version: 5.0 • Zugriff über: zeos

sql - unknown column
 
hi

ich greife mit dem code

Delphi-Quellcode:
  sqlq.Active := False;
  sqlq.SQL.Clear;
  sqlq.SQL.Add('SELECT unter FROM unterkat WHERE kat=test');
  sqlq.Active := True;
  sqlq.First;
auf eine mysqldb zu - klappt alles soweit nur sagt er mir das er die spalte test nicht findet. ist aber allesangelegt.
das komische ist wenn ich

Delphi-Quellcode:
  sqlq.Active := False;
  sqlq.SQL.Clear;
  sqlq.SQL.Add('SELECT unter FROM unterkat WHERE Id=2');
  sqlq.Active := True;
  sqlq.First;
mach dann klappt es einwandfrei - die andere spalte ist genauso angelegt und auch mit test gefüllt.
hatte mit sql bisher noch nie so ein problem.

hat evtl jemand nen lösungsansatz?, da ich keinen unterschied zu den beiden sehen

gruß

CG2003 1. Dez 2006 14:12

Re: sql - unknown column
 
Hallo,

kann es sein, das Du "Test" als String angeben musst:

Delphi-Quellcode:
  sqlq.Active := False;
  sqlq.SQL.Clear;
  sqlq.SQL.Add('SELECT unter FROM unterkat WHERE kat='''test'''');
  sqlq.Active := True;
  sqlq.First;
(Ungetestet)

Luncustaf 1. Dez 2006 14:19

Re: sql - unknown column
 
hi,

danke hat funktioniert,

das lustige ist der eigentlich string soll so aussehen

Delphi-Quellcode:
  sqlq.Active := False;
  sqlq.SQL.Clear;
  sqlq.SQL.Add('SELECT unter FROM unterkat WHERE kat="'+cb_kategorie.Text+'"');
  sqlq.Active := True;
  sqlq.First;
ich hab das gestern genauso dastehen gehabt und es hat net getan :) - naja evtl hab ich wohl nachts um 1 ein hochkommata vergessen ;)

danke für die schnell hilfe

gruß

RavenIV 1. Dez 2006 14:26

Re: sql - unknown column
 
Anstatt der vielen Hochkommas kannst Du auch QuotedString nehmen
Delphi-Quellcode:
sqlq.SQL.Add('SELECT unter FROM unterkat WHERE kat=' + QuotedString('test'));

mkinzler 1. Dez 2006 14:41

Re: sql - unknown column
 
Zitat:

Anstatt der vielen Hochkommas kannst Du auch QuotedString nehmen
Oder eine parametrisierte Abfrage.

oschulz 1. Dez 2006 14:49

Re: sql - unknown column
 
die format-Funktion bietet sich für sowas immer gut an

Delphi-Quellcode:
i_sql:=format('select * from test where s=''%s'' and d=%d', [VariableString, VariableDezimal]);

Thanatos81 1. Dez 2006 15:09

Re: sql - unknown column
 
format formatiert aber z.B. Fließkomma nach deinen lokalen Ländereinstellungen.

Eine parametrisierte Abfrage bzw. die verwendete Zeos-Conection sollte sich doch den Einstellungen des Server anpassen können, oder täusche ich mich jetzt völlig?

Hansa 1. Dez 2006 17:20

Re: sql - unknown column
 
Verfrachte das doch in die Datenbank. Dreckiges Beispiel :mrgreen: :

SQL-Code:
MWSTUMS = CAST (UMS * 1.16 AS DECIMAL (15,2));
Und die unseligen "QuotedStrings" die würde ich lediglich den Hasen geben. :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:39 Uhr.

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-2025 by Thomas Breitkreuz