Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankinhalte sortiert ausgeben (https://www.delphipraxis.net/91969-datenbankinhalte-sortiert-ausgeben.html)

mkinzler 12. Mai 2007 16:28

Re: Datenbankinhalte sortiert ausgeben
 
Du mußt den Query in der dataSource auswahlen und nicht die dataSource im Query,

Svenkan 12. Mai 2007 16:29

Re: Datenbankinhalte sortiert ausgeben
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja, hab ich doch gemacht.

MrSpock 12. Mai 2007 16:30

Re: Datenbankinhalte sortiert ausgeben
 
Hallo Svenkan,

dann hast du die Werte falsch gesetzt. Grid > DataSource > Query. Wenn im Grid die DataSource ausgewählt ist, die auf die Query zeigt, dann funktioniert es.

Stelle noch einmal sicher, dass in der Eigenschaft DataSource der Query Komponente KEIN Eintrag steht!

Svenkan 12. Mai 2007 18:33

Re: Datenbankinhalte sortiert ausgeben
 
Irgendwie funktioniert das Hinzufügen von Querys noch nicht so wirklich.

Delphi-Quellcode:
  Query1.Open;
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT * FROM "VT'+sj+'"');
  Query1.SQL.Add('WHERE NOT S = M AND NOT s= E AND DATUM BETWEEN ('+today+' AND '+tomorrow+')');
  Query1.SQL.Add('ORDER BY DATUM DESC, KLASSEN, S');
Der Code müsste so doch eigtl richtig, sein?
Er gibt mir nämlich aus, dass kein Query vorhanden sei.....

MrSpock 12. Mai 2007 18:38

Re: Datenbankinhalte sortiert ausgeben
 
Hallo Svenkan,

du kannst die Query erst ausführen (öffnen), wenn sie definiert ist.:

Delphi-Quellcode:
Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('SELECT * FROM "VT'+sj+'"');
  Query1.SQL.Add('WHERE NOT S = M AND NOT s= E AND DATUM BETWEEN ('+today+' AND '+tomorrow+')');
  Query1.SQL.Add('ORDER BY DATUM DESC, KLASSEN, S');
  Query1.Open;

Svenkan 12. Mai 2007 18:41

Re: Datenbankinhalte sortiert ausgeben
 
Mhm..jetzt kommt der Fehler vom Anfang wieder:

Zitat:

Invalid use of keyword.
Token: .2007
Line Number 2.
Deswegen hab ich hier auch nochmal nachgefragt, weil ichs genauso auch schon einmal ausprobiert habe und ebenfalls diesen Fehler bekam.

MrSpock 12. Mai 2007 18:45

Re: Datenbankinhalte sortiert ausgeben
 
Hallo Svenkan,

das liegt daran, dass die Query syntaktisch inkorrekt ist:

Delphi-Quellcode:
  Query1.SQL.Add('SELECT * FROM "VT'+sj+'"');
  Query1.SQL.Add('WHERE NOT S = M AND NOT s= E AND DATUM BETWEEN ('+today+' AND '+tomorrow+')');
wie sehen denn today und tomorrow aus?

mkinzler 12. Mai 2007 18:47

Re: Datenbankinhalte sortiert ausgeben
 
datumswerte müssen gequoted werden oder besser man verwendet Parameter
Delphi-Quellcode:
  Query1.Close;
  Query1.SQL.Text := 'SELECT * FROM "VT'+sj+'"';
  Query1.SQL.Add('WHERE NOT S = M AND NOT s= E AND DATUM BETWEEN :von AND :bis');
  Query1.SQL.Add('ORDER BY DATUM DESC, KLASSEN, S');
  Query1.ParamByName('von').Value := today;
  Query1.ParamByName('bis').Value := tommorrow;
  Query1.Open;

Svenkan 12. Mai 2007 18:52

Re: Datenbankinhalte sortiert ausgeben
 
@ MrSpock:

Delphi-Quellcode:
var
   Ini: TIniFile;
   sj,path,today,tomorrow: String;
   dnr: Integer;
...
  dnr:=DayOfWeek(Date);
  today:=DateToStr(Date);
  if dnr=5 then tomorrow:=DateToStr(Date+3)
  else if dnr=6 then tomorrow:=DateToStr(Date+2)
  else tomorrow:=DateToStr(Date+1);
Es soll halt, falls der momentane Tag Nr. 5 (Freitag) oder 6 (Samstag) ist, jeweils 3 bzw. 2 Tage weitergerechnet werden.
Da ich mir bei Delphi nicht sicher war, wie man das Datum korrekt weiterrechnet, hab ichs mal auf primitive Weise versucht, weiterzurechnen.
Kann natürlich sehr gut sein, dass dort auch dann der Fehler liegt..

@ mkinzler: Danke. Nun bekomm ich aber noch einen Fehler bezüglich unpassender Feldtypen.

mkinzler 12. Mai 2007 18:55

Re: Datenbankinhalte sortiert ausgeben
 
das Casten nach String kannst du die Sparen:
Delphi-Quellcode:
Query1.ParamByName('von').Value := Date;
Query1.ParamByName('bis').Value := Date+1;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 Uhr.
Seite 2 von 3     12 3      

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