![]() |
SQL Problem"ungültiger Feldname?!?"
Hey
habe euch mal den Code angehängt. Fehlermeldugn kommt immer beim SQL.Open und meint ungültiger Feldname. Wie Ihr seht berechne ich zwei Datum(s)(e)(?!?) und nach denen soll in der Tabelle gefiltert werden. Woran liegt's?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Aktienchart :TLineSeries; AD:TDate; ADS, EDS:String; J, M, T:Word; begin EDS := FormatDateTime('dd.mm.yyyy',now); with Form1.Query1 Do begin DecodeDate(now, J,M,T); M:=M-1; AD:=EncodeDate(J,M,T); ADS := FormatDateTime('dd.mm.yyyy',AD); Form1.Query1.SQL.Clear; Form1.Query1.SQL.Add('SELECT Datum, Close FROM '+Form1.ComboBox1.Text+' WHERE Datum BETWEEN ADS AND EDS'); Form1.Query1.Open; end; Aktienchart:=TLineSeries.Create(Form1); with Aktienchart do begin ParentChart:=Form1.DBChart1; DataSource:=Form1.Query1; XLabelsSource:='Datum'; YValues.ValueSource:= 'Close'; SeriesColor:= clBlue; CheckDatasource; end; end; |
Re: SQL Problem"ungültiger Feldname?!?"
Hallo,
versuch mal den Feldnamen Close umzubenennen, da es sich bei Close um ein reserviertes Wort handelt. Man sollte es vermeiden den Feldern solche Namen zu geben. |
Re: SQL Problem"ungültiger Feldname?!?"
OK! Werde es ändern!
Daran liegt es aber nicht! Warum sagt er mir ungültiger Feldname. Wenn ich den String '10.12.2004' z.B. unter Eigenschaften in TStrings eingebe funktioniert es?!? |
Re: SQL Problem"ungültiger Feldname?!?"
Du meinst aber nicht, dass der ADS/EDS Parameter in der SQL SELECT Anweisung der selbe ist wie die ADS/EDS variabel aus Delphi ?
wenn ja, dann mach es so :
Delphi-Quellcode:
Ansonsten, die ganz genaue Fehlermeldung !
Form1.Query1.SQL.Add('SELECT Datum, Close FROM '+Form1.ComboBox1.Text+' WHERE Datum BETWEEN :ADS AND :EDS');
Form1.Query1.ParamByName('ADS').AsDateTime := ADS; Form1.Query1.ParamByName('EDS').AsDateTime := EDS; Form1.Query1.Open; |
Re: SQL Problem"ungültiger Feldname?!?"
Hallo Gruber Hans,
Funktioniert Dein Code bei Dir? Bei mir nicht! Ist auch klar; Inkompatible Typen TDateTime und String?!? :wiejetzt: Ich baruche das Datum als String in der Form 10.12.2004 um in der Tabelle zu filtern. Warum lässt er mich nicht in der SQl Anweisung nach Strings filtern? :wall: |
Re: SQL Problem"ungültiger Feldname?!?"
Hast Du nicht einfach nur die Hochkommas in deinem Code vergessen. Dann sollte es eigentlich gehen.
Zitat:
Code:
'SELECT Datum, Close FROM '+Form1.ComboBox1.Text+' WHERE Datum BETWEEN '+ADS+' AND '+EDS+''
|
Re: SQL Problem"ungültiger Feldname?!?"
hab ich übersehen, aber probier folgendes ....
Zitat:
|
Re: SQL Problem"ungültiger Feldname?!?"
Danke das war die Lösung!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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