![]() |
Datenbank: mySQL • Version: 4.x • Zugriff über: TMyconnection
Sql Tabelle nacht Datum sortiren / Filtern
hiho
Ich möchte gerne den inhalt einer wwDBgrid nach datum filter, das heist: von "datum" bis "datum" der inhalt kommt von einer mySQL datenbank das ist ja an un für sich auch kein problem, aber wie bringe ich delphi dazu das nacher wieder in der wwdbgrin anzuzeigen? da wird ja schon die ungefilterte ausgabe angezeit, muss ich dazu die ungefilterte entfernen oder so? thx für die hilfe Silicium |
Re: Sql Tabelle nacht Datum sortiren / Filtern
Wenn ich das richtig sehe, benutzt du ein Datenbank-sensitives Grid. D.h.: Es zeigt die Daten so an, wie du sie aus der Datenbank liest. Wenn du es mit einem SQL-Statement machst, musst du nur ein "Order by <Datumsfeld>" anfügen.
|
Re: Sql Tabelle nacht Datum sortiren / Filtern
hab ich auch gemacht, problem ist nur, ich will ja VON - BIS.
ich habe ein codebeispiel bekommen werde daraus aber nicht schlau, irgendwie mir arrais und so eine möglichkeit wäre: select * FROM t_pd_spesendetail where < variable_von AND > variable_bis dan habe ich wenn ich den command in einem qry habe das ergebniss in der entsprechenen Variable gespeichert... doch wie kriege ich das dan in das wwDBgrid? |
Re: Sql Tabelle nacht Datum sortiren / Filtern
Hai Silicium,
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXIS". Für das was Du möchtest eignet sich das SQL Kommante BETWEEN.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin with query do begin SQL.Text := 'SELECT * FROM tabelle ' + #10 + 'WHERE (datumsfeld BETWEEN :start AND :ende)'; ParamCheck := True; ParamByName('start') := start_datum; ParamByName('ende') := end_datum; Open; end; end; |
Re: Sql Tabelle nacht Datum sortiren / Filtern
herzlichen Dank, werde es gleich mal testen
|
Re: Sql Tabelle nacht Datum sortiren / Filtern
Eventuell könnten auch die Eigenschaften Filtered und Filter nützlich sein.
|
Re: Sql Tabelle nacht Datum sortiren / Filtern
diese :start :ende
sind das in delphi festglegte variablen? |
Re: Sql Tabelle nacht Datum sortiren / Filtern
Nein, das sind sogenannte Bindevariablen von SQL.
|
Re: Sql Tabelle nacht Datum sortiren / Filtern
Das sind einfache Parameter die durch .ParamByName mit Werten gefüllt werden.
Ich weiss aber nicht ob deine Komponente damit umgehen kann? Ich selber verwende die Zeos-Komponenten um auf mySQL zugreiffen zu können. |
Re: Sql Tabelle nacht Datum sortiren / Filtern
ich werde noch ein bisschen mit den Tips rumspielen, wenn ichs habe werd ichs posten :)
danke nochmals |
Re: Sql Tabelle nacht Datum sortiren / Filtern
Noch ein kleiner Tipp.
Wenn Du das Datum nicht mit Parametern an die Abfrage übergibst sondern versuchst dies mit DateToStr zu machen musst Du daran denken das der mySQL alle Datumsangaben in diesem Format möchte : yyyy-mm-dd. |
Re: Sql Tabelle nacht Datum sortiren / Filtern
also die datumsangaben kommen von einem TdateTimePicker...
wie kann ich die auf :start :ende zuweisen? gruss Silicium |
Re: Sql Tabelle nacht Datum sortiren / Filtern
Statt start_datum und end_datum in Sharkys Beispiel oben einfach DateTimePickerStart.Date bzw DateTimePickerEnde.Date.
|
Re: Sql Tabelle nacht Datum sortiren / Filtern
:wall:
Mein Code hatte einige Fehler :oops:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin with query do begin SQL.Text := 'SELECT * FROM tabelle ' + #10 + 'WHERE (datumsfeld BETWEEN :start AND :ende)'; ParamCheck := True; ParamByName('start').AsDateTime := DateTimePicker1.Date; // DTP 1 für start ParamByName('ende').AsDateTime := DateTimePicker2.Date; Open; end; end; |
Re: Sql Tabelle nacht Datum sortiren / Filtern
cool danke :)
ez muss ich das nurnoch in einen MyCommand packen, ma probieren :) thx |
Re: Sql Tabelle nacht Datum sortiren / Filtern
toll :D
2 fragen: 1. kann mir jemand bei dem codeschnpsel helfen:
Delphi-Quellcode:
procedure TForm1.filter_von_timeChange(Sender: TObject);
var von, bis : tdatetimepicker; begin von := (filter_von_time); bis := (filter_bis_time); mycommand2.SQL.Text := 'SELECT * FROM t_pd_spesendetail ' + #10 + 'WHERE (DAT_datum BETWEEN von AND bis)'; //das VON und BIS sollte definiert werden, wie mach ich das? mycommand2.Execute(); end; 2. und wie kriege ich das ganze jetzt in eine wwDBgrid? gruss |
Re: Sql Tabelle nacht Datum sortiren / Filtern
es funktioniert nun :D
hier der Code:
Delphi-Quellcode:
danke euch allen für die hilfe
procedure TForm1.check_filterClick(Sender: TObject);
{********************* **Variablendefinition* *********************} var von, bis : string; begin {************************************** **Wenn checkbox filter aktiv markiert** **************************************} if check_filter.checked then {********************* **VariablenZuweisung** *********************} von := DateToStr(filter_von_time.Date); bis := DateToStr(filter_bis_time.Date); {********************* *** MySQL Kommando *** *********************} mycommand2.SQL.Text := 'SELECT * FROM t_pd_spesendetail ' + #10 + 'WHERE (DAT_datum BETWEEN '+von+' AND '+bis+')'; edit3.text := mycommand2.SQL.Text; mycommand2.Execute(); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 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 by Thomas Breitkreuz