OVH Cloud OVH Cloud

Filtre, RowFilter, Pb dateTime help

3 réponses
Avatar
oliv
Bonjour,

J'ai eu base de donnée contenant une colonne (EventStamp) avec une date et
une heure sous ce format : ex : 05/06/2005 15:20:11.

Je recuepere ces info dans une dataset et je l'affiche dans une datgrid.

Parfois j'effectue un filtre sur une DataView en faisant par exemple :
MyDataView.RowFilter = "SELECT EventStamp FROM ... WHERE "EventStamp <=
'05/06/2005 15:20:11' "

Mon pb est qu'il affiche toutes les donnee inferieur a cette date or je lui
demande d'afficher les dates inferieur ET egale

Merci pour votre reponse

3 réponses

Avatar
Roman
"oliv" a écrit :

Parfois j'effectue un filtre sur une DataView en faisant par exemple :
MyDataView.RowFilter = "SELECT EventStamp FROM ... WHERE "EventStamp <=
'05/06/2005 15:20:11' "



private void MakeDataView()
{
DataView dv = new DataView();

dv.Table = DataSet1.Tables["Votre Table"];
dv.RowFilter = "EventStamp <= #05/06/2005 15:20:11#";

VotreDataGrid.DataSource = dv;

// votre data bind ...
}
Avatar
oliv
Merci de ta reponse mais si je mets #15/05/2005 15:14:14# il m'indique que ce
n'est pas un format valide pour une date.

"Roman" wrote:

"oliv" a écrit :

> Parfois j'effectue un filtre sur une DataView en faisant par exemple :
> MyDataView.RowFilter = "SELECT EventStamp FROM ... WHERE "EventStamp <=
> '05/06/2005 15:20:11' "

private void MakeDataView()
{
DataView dv = new DataView();

dv.Table = DataSet1.Tables["Votre Table"];
dv.RowFilter = "EventStamp <= #05/06/2005 15:20:11#";

VotreDataGrid.DataSource = dv;

// votre data bind ...
}



Avatar
Roman
"oliv" a écrit :

Merci de ta reponse mais si je mets #15/05/2005 15:14:14# il m'indique que ce
n'est pas un format valide pour une date.



Ah! Excusez-moi, le syntax #expression# c'est pour les valeur de type date,
mais pas
datetime. Je corrige:

private void MakeDataView()
{
DataView dv = new DataView();

dv.Table = DataSet1.Tables["Votre Table"];
dv.RowFilter = "EventStamp <= '05/06/2005 15:20:11'";

VotreDataGrid.DataSource = dv;
VotreDataGrid.DataBind();
}

Votre pb peut arriver en 2 cas:
- soit vous utiliser short format pour mettre en valeur le champ EventStamp
e.g. toutes valeurs sont au format 'jj/mm/aaaa 00:00:00'

- soit vous récupérer le champ EventStamp en format varchar(n) au lieu de
datetime