Einzelnen Beitrag anzeigen

LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: SQL: Wenn Query eine Summe erhält (>0) Bedingung ausf

  Alt 13. Jan 2004, 07:54
Verdammt,
da gibts noch n Problem mit deinem Code, Mario.

Er schaut jetzt im Programm so aus:
Delphi-Quellcode:
var
sSQL: string;
procedure TForm1.Button2Click(Sender: TObject);
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Text :=
   'SELECT *' + #10 +
   'FROM "t:eDienstreisebuch\mainDB.dbf"' + #10 +
   'WHERE Dienst_PKW = :iDienst_PKW And' + #10 +
   ' Datum = :iDateT';

Query2.prepare;
Query2.ParamByName('iDienst_PKW').AsString := Dienst_Pkw.text;
Query2.ParamByName('iDateT').AsDateTime := DateT.DateTime;
Query2.open;
//Query2.sql.add(sSQL);
Query2.Active:=True;
if Query2.Bof and Query2.Eof
 then begin ShowMessage('Dateneingabe');

end
else ShowMessage('Keine Daten');
Ein Fehler fällt auf, die Zeile die ich ausgeklammert habe, kann in der Form ja auch nicht funktionieren. Denn sSQL ist ja nicht mehr vorhanden, die Deklaration davon - könnte ich also auch entfernen.

Nun sieht es leider so aus, dass das Programm immer then begin ShowMessage('Dateneingabe'); ausführt, niemals else ShowMessage('Keine Daten'); [/delphi]. Auch wenn es eine Summe im Query gibt.

Der alte Code, der funktioniert hat sah so aus:
Delphi-Quellcode:
var
sSQL: String;
procedure TForm1.Button1Click(Sender: TObject);
begin
Query2.Close;
Query2.SQL.Clear;
sSQL := 'SELECT * FROM "t:eDienstreisebuch\mainDBalt.dbf" where dienst_pkw = "' + PKW.Text + '" AND datum = ''' + Datum2.text + '''';
Query2.sql.add(sSQL);
Query2.Active:=True;
if Query2.Bof and Query2.Eof then ShowMessage('Keine Daten');
end;
Dabei gabs dann aber das Problem mit dem DateTimePicker... .

Was hab ich denn an dem Code oben falsch gemacht?
- ich kann doch wirklich nichts -
  Mit Zitat antworten Zitat