AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Problem"ungültiger Feldname?!?"
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Problem"ungültiger Feldname?!?"

Ein Thema von Hansi · begonnen am 11. Dez 2004 · letzter Beitrag vom 11. Dez 2004
Antwort Antwort
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#1

SQL Problem"ungültiger Feldname?!?"

  Alt 11. Dez 2004, 12:18
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;
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#2

Re: SQL Problem"ungültiger Feldname?!?"

  Alt 11. Dez 2004, 12:27
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.
  Mit Zitat antworten Zitat
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#3

Re: SQL Problem"ungültiger Feldname?!?"

  Alt 11. Dez 2004, 12:30
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?!?
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.438 Beiträge
 
Delphi 2007 Professional
 
#4

Re: SQL Problem"ungültiger Feldname?!?"

  Alt 11. Dez 2004, 12:32
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:
      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;
Ansonsten, die ganz genaue Fehlermeldung !
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#5

Re: SQL Problem"ungültiger Feldname?!?"

  Alt 11. Dez 2004, 13:01
Hallo Gruber Hans,

Funktioniert Dein Code bei Dir? Bei mir nicht! Ist auch klar; Inkompatible Typen TDateTime und String?!?



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?
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#6

Re: SQL Problem"ungültiger Feldname?!?"

  Alt 11. Dez 2004, 13:13
Hast Du nicht einfach nur die Hochkommas in deinem Code vergessen. Dann sollte es eigentlich gehen.

Zitat von Hansi:
Form1.Query1.SQL.Clear;
Form1.Query1.SQL.Add('SELECT Datum, Close FROM '+Form1.ComboBox1.Text+' WHERE Datum BETWEEN ADS AND EDS');
end;[/delphi]
Code:
'SELECT Datum, Close FROM '+Form1.ComboBox1.Text+' WHERE Datum BETWEEN '+ADS+' AND '+EDS+''
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.438 Beiträge
 
Delphi 2007 Professional
 
#7

Re: SQL Problem"ungültiger Feldname?!?"

  Alt 11. Dez 2004, 13:18
hab ich übersehen, aber probier folgendes ....

Zitat von Gruber_Hans_12345:
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:
      Form1.Query1.SQL.Add('SELECT Datum, Close FROM '+Form1.ComboBox1.Text+' WHERE Datum BETWEEN :ADS AND :EDS');
      Form1.Query1.ParamByName('ADS').AsDateTime := AD;
      Form1.Query1.ParamByName('EDS').AsDateTime := now;
      Form1.Query1.Open;
Ansonsten, die ganz genaue Fehlermeldung !
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Hansi

Registriert seit: 8. Okt 2004
271 Beiträge
 
#8

Re: SQL Problem"ungültiger Feldname?!?"

  Alt 11. Dez 2004, 13:24
Danke das war die Lösung!
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:15 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