Meilleur auteur de réponses
Requette linq to sql select date max

Question
-
Bonjour ,
j'ai une table ou je stocke des informations et parmi ces information le champ date.
Dans un contrôle textblock je souhaite afficher la date MAX du champ date
voici ma requête : var results = (from RssData date in _model.Data
select date.Date).Max() ;donc je cherche comment exécuter cette requête pour pouvoir lier le résultat au texblock ??
Cordialement ,Sara.
mercredi 13 juillet 2011 16:12
Réponses
-
Bonjour,
c'est bon j'ai trouve la solution je l'a partage avec vous :
var results = (from RssData date in _model.Data
select date.Date).Max();
results.AsQueryable();
txtDate.Text = results;Cordialement,Sara.
- Proposé comme réponse Pascal Saille jeudi 14 juillet 2011 16:45
- Marqué comme réponse Ciprian Duduiala vendredi 15 juillet 2011 06:22
jeudi 14 juillet 2011 16:38
Toutes les réponses
-
Bonjour,
Voici une proposition d'exemple :
public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); this.Loaded += new RoutedEventHandler(MainPage_Loaded); } void MainPage_Loaded(object sender, RoutedEventArgs e) { RssDataCollection rss = new RssDataCollection(); rss.Add(new RssData() { Date = new DateTime(2010,11,20) }); rss.Add(new RssData() { Date = new DateTime(2010, 10, 20) }); rss.Add(new RssData() { Date = new DateTime(2010, 8, 20) }); rss.Add(new RssData() { Date = new DateTime(2010, 12, 25) }); rss.Add(new RssData() { Date = new DateTime(2010, 11, 19) }); rss.Add(new RssData() { Date = new DateTime(2010, 12, 18) }); this.DataContext = rss; } } /// <summary> /// Classe recupéré dans la base de donnée /// </summary> public class RssData { public DateTime Date { get; set; } //Plus toutes les autres propriétés } /// <summary> /// Classe regroupant la collection de RssData /// </summary> public class RssDataCollection : List<RssData> { public DateTime DateMax { get { return this.Select(rss => rss.Date).Max(); } } //Plus toutes les propriétés nécéssaires }
<!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <TextBlock Text="{Binding Path=DateMax}" /> </Grid>
Cordialement, Pascal.
Développeur Wpf/SilverLight/WinPhone7
jeudi 14 juillet 2011 09:32 -
Je vous explique suivant votre logique :
je rempli ma table des donnes récupérer d'un flux
ma table est comme suit :
[Table]
public class RssData
{
[Column(
IsPrimaryKey = true,
IsDbGenerated = true,
DbType = "INT NOT NULL Identity",
CanBeNull = false,
AutoSync = AutoSync.OnInsert)]
public int Id { get; set; }
[Column]
public string Title { get; set; }
[Column]
public string Date { get; set; }
[Column]
public string Link{ get; set; }
[Column(DbType="NText") ]
public string Desciption{ get; set; }
[Column]
public string Enclosure{ get; set; }
}je remplis la table comme suit :
//insertion des donnees dans la DB
RssData rssD = new RssData();
rssD.Date = rss.Date;
rssD.Desciption = rss.Desciption;
rssD.Link = rss.Link;
rssD.Title = rss.Title;
rssD.Enclosure = rss.Enclosure;
Debug.WriteLine("insertion dans la base :" + rssD.Enclosure);
rssDatas.Add(rssD);
_model.Data.InsertOnSubmit(rssD);
}
flux.Add(rss);
}
lb.ItemsSource = flux;ma requête est la suivante : var results = (from RssData date in _model.Data
select date.Date).Max() ;results contient la requête et elle n'est pas encore exécuter
je veux savoir comment je peux l'exécuter ?
jeudi 14 juillet 2011 12:56 -
Si je ne me trompe pas des que vous irez lire la variable results.
La requête sera executer.
Donc si vous faîtes
String mavariable = results;
Cela devrait être bon.
Cordialement, Pascal.
Développeur Wpf/SilverLight/WinPhone7
jeudi 14 juillet 2011 14:25 -
Bonjour ,
pour tester j'ai essayer d'afficher le contenu de la variable results , j'ai vu qu'elle affiche la requête, elle contient pas le résultats de la requête.
jeudi 14 juillet 2011 15:33 -
et si vous essayer de décomposer la requête comme ceci :
List<String> liste = this.Select(rss => rss.Date).ToList(); string s=liste.Max();
Je ne connais pas Linq To Sql, donc je ne sais pas si c'est suffisant.Cordialement, Pascal.
Développeur Wpf/SilverLight/WinPhone7
jeudi 14 juillet 2011 15:53 -
Bonjour,
c'est bon j'ai trouve la solution je l'a partage avec vous :
var results = (from RssData date in _model.Data
select date.Date).Max();
results.AsQueryable();
txtDate.Text = results;Cordialement,Sara.
- Proposé comme réponse Pascal Saille jeudi 14 juillet 2011 16:45
- Marqué comme réponse Ciprian Duduiala vendredi 15 juillet 2011 06:22
jeudi 14 juillet 2011 16:38 -
Bonjour,
Merci pour tenir la communauté informée sur la suite de vos démarches. Svp n’oubliez pas marquer la réponse qui résoudre votre problème, afin que d'autres personnes avec le même souci puissent profiter de cette solution.
Cordialement,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
vendredi 15 juillet 2011 06:24