AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Befehl zum Ausgeben von daten in einen bestimmten Bereic
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Befehl zum Ausgeben von daten in einen bestimmten Bereic

Ein Thema von Kruemel2oo2 · begonnen am 1. Jul 2004 · letzter Beitrag vom 2. Jul 2004
Antwort Antwort
Seite 3 von 4     123 4      
Kruemel2oo2

Registriert seit: 23. Jun 2004
65 Beiträge
 
#21

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 07:47
?? könntest mir das bitte sagen.

Alle Tippfehler dienen nur zur Belustigung und wurden mit voller Absicht gesetzt.


:-:-: [ich bin ein DAU ]:-:-:
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#22

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 07:54
Von welchen "Variablen" sprichst Du denn? Ich muss gestehen das ich aus deinem "Satz" nicht ganz schlau werde
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Kruemel2oo2

Registriert seit: 23. Jun 2004
65 Beiträge
 
#23

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 08:06
Naja den Variablen die ich von den beiden DateTimepickern nehme. Hatte doch gesagt 2 DateTimepicker wo ich je Tag Monat Und Jahr auslese. Naja und die sollen nachern den Bereich angeben. Die muss ich ja denn auch zusammen fassen zu diesen Date. Aba ich weiß nicht ganz wo ich die in den angegebenen Quelltext reinsetzen muss und ejrlihc gesagt auch net wie .

hatte doch meinen Quelltext auch hier geposted also mein select befehl dasieht man die gemeinten Variablen
Alle Tippfehler dienen nur zur Belustigung und wurden mit voller Absicht gesetzt.


:-:-: [ich bin ein DAU ]:-:-:
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#24

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 08:13
Hai Kruemel2002,

überlege doch einmal

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Query1 do
  begin
    Close;
    SQL.Text := 'SELECT *' + #10 
      + 'FROM Booking' + #10 
      + 'WHERE CAST(CONCAT(jahr,"-",monat,"-",tag) AS DATE) BETWEEN :start AND :ende' +#10 
      + 'ORDER BY name, uhrzeit';
    ParamCheck := True;
    Params.ParamByName('start').AsString := FormatDateTime ('yyyy-m-d',[color=red]DateTimePicker1.Date[/color]);
    Params.ParamByName('ende').AsString := FormatDateTime ('yyyy-m-d',[color=red]DateTimePicker2.Date[/color]);
    Open;
  end;
end;
Jetzt siehst Du genau wo ich das Datum aus den beiden DateTimePickern übergebe. Wenn Du das Datum vorher in eine Variable speicherst muss halt diese übergeben werden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Kruemel2oo2

Registriert seit: 23. Jun 2004
65 Beiträge
 
#25

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 08:16
ups

bin manchmal nen biscen schwervon begriff fetten dank ich werds mal ausprobieren
Alle Tippfehler dienen nur zur Belustigung und wurden mit voller Absicht gesetzt.


:-:-: [ich bin ein DAU ]:-:-:
  Mit Zitat antworten Zitat
Kruemel2oo2

Registriert seit: 23. Jun 2004
65 Beiträge
 
#26

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 08:21
-.- bin dumm
Alle Tippfehler dienen nur zur Belustigung und wurden mit voller Absicht gesetzt.


:-:-: [ich bin ein DAU ]:-:-:
  Mit Zitat antworten Zitat
Kruemel2oo2

Registriert seit: 23. Jun 2004
65 Beiträge
 
#27

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 08:29
hmm also wenn ich das ausführe stürtz mein prog ab er mein "Merkmal nicht verfügbar"
Alle Tippfehler dienen nur zur Belustigung und wurden mit voller Absicht gesetzt.


:-:-: [ich bin ein DAU ]:-:-:
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#28

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 09:14
Zitat von Sharky:
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Query1 do
  begin
    Close;
    SQL.Text := 'SELECT *' + #10 
      + 'FROM Booking' + #10 
      + 'WHERE CAST(CONCAT(jahr,"-",monat,"-",tag) AS DATE) BETWEEN :start AND :ende' +#10 
      + 'ORDER BY name, uhrzeit';
    ParamCheck := True;
    Params.ParamByName('start').AsString := FormatDateTime ('yyyy-m-d',[color=red]DateTimePicker1.Date[/color]);
    Params.ParamByName('ende').AsString := FormatDateTime ('yyyy-m-d',[color=red]DateTimePicker2.Date[/color]);
    Open;
  end;
end;

Was machst du denn da?
  • Den #34 wird mySQL (wie die meisten DBs) als Start/Ende eines Identifiers ansehen, NICHT als String. (Das könnte das "Merkmal" sein )
  • Warum erst ein Typcast auf Date, wenn du ihm die Werte als String gibst

So dürfte ein Schuh draus werden:
Delphi-Quellcode:
with Query do
begin
  SQL.Text :=
    'SELECT *' + #10 +
    'FROM Booking' + #10 +
    'WHERE CAST(CONCAT(jahr' + #10 +
    ' ,''-''' + #10 +
    ' ,monat' + #10 +
    ' ,''-''' + #10 +
    ' ,tag) As Date) BETWEEN :i_Start AND :i_Ende' + #10 +
    'ORDER BY Name' + #10 +
    ' ,Uhrzeit';
  // Parse Statement um Variablen zu erkennen
  ParamCheck := True;
  // Parameterzuweisung
  with Params do
  begin
  // Die Zuweisung des DataType soll verhindern, dass die MidWare irgendwelchen Käse fabriziert
    ParamByName('i_Start').DataType := ftDate;
    ParamByName('i_Start').Value := DateTimePicker1.Date;
    ParamByName('i_Ende').DataType := ftDate;
    ParamByName('i_Ende').Value := DateTimePicker2.Date;
  end;
  // Ausführen
  Open;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#29

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 09:20
Zitat von Robert_G:
...
  • Den #34 wird mySQL (wie die meisten DBs) als Start/Ende eines Identifiers ansehen, NICHT als String. (Das könnte das "Merkmal" sein )
  • Warum erst ein Typcast auf Date, wenn du ihm die Werte als String gibst
....
Hai Robert,
darauf habe ich gewartet
Warum ich es als String übergeben? Weil es als .AsDate nicht funktionierte. Ich vermute das in diesem Fall das Datum im "falschen Format" ankommt. Da die Zahlen in den einzelnen Felder ja 1/2/3 und nicht 01/02/03 sind wird (so vermute ich) bei dem Typcasting das Datum intern auch so verwendet z.B. 2004-5-1 und nicht 2004-05-01.

Mit dem Start/Ende könntest Du recht haben. Obwohl es bei mir hier ohne Probleme funktionirt.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Kruemel2oo2

Registriert seit: 23. Jun 2004
65 Beiträge
 
#30

Re: SQL Befehl zum Ausgeben von daten in einen bestimmten Be

  Alt 2. Jul 2004, 09:22
Auch hier stürzt das prog ab und gibt die Fehlermeldung "Merkmal nicht verfügbar".
Alle Tippfehler dienen nur zur Belustigung und wurden mit voller Absicht gesetzt.


:-:-: [ich bin ein DAU ]:-:-:
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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:49 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