IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

dictionnaire<date,double> avec C#? [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 176
    Par défaut dictionnaire<date,double> avec C#?
    bonsoir !

    j'ai une table mysql comprenant une colonne Date (date) et Temperatures (double).

    une query simple permet d'aller chercher les données sous C# :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string sql = "SELECT `Date`, `Temperatures`   FROM `matable`"
    et pour l'instant, les données se retrouvent dans deux listes indépendantes (ensuite transformées en array).

    je souhaite réaliser des calculs simple du style moyenne, nombre maximum (sur la colonne Temperatures qui serait la Key).
    idéalement, je pourrais faire ses calculs entre deux dates arbitraires (entre deux Value). [je pourrais faire tout çà avec MySql, mais ce n'est pas ce que je veux]

    quelles classes me conseillez-vous ?
    quelles bonnes pratiques ?

    merci, bonne soirée

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 176
    Par défaut
    bonsoir. j'ai trouvé une façon de procéder.
    je ne suis pas sûr que ce soit du grand art, mais bon çà marche ....
    j'ai écrit une entrée rapide sur mon blogounet (j'ai changé les températures par des séries de prix, mais c'est du pareil au même )
    si quelqu'un est intéressé :
    http://quantcorner.wordpress.com/201...om-mysql-to-c/
    bonne soirée

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    je croi que tu peux éliminé une partie de ton code

    avant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    // Create and read lists
                    List<string> listDate = new List<string>();
                    List<double> listClose = new List<double>();
     
                    while (rdr.Read())
                    {
                        listDate.Add(rdr.GetString(0));
                        listClose.Add(rdr.GetDouble(1));
                    }
     
                    // lists -> arrays
                    string [] arrayDate = listDate.ToArray();
                    double [] arrayClose =  listClose.ToArray();
     
                    //for (int i = 0; i < listDate.Count; i++)
                    // Console.WriteLine(arrayDate[i] + ", " + arrayClose[i]);
     
                    // Create a new sorted dictionary of key as string and value as double
                    SortedDictionary<string, double> closeDic =
                        new SortedDictionary<string, double>();
     
                    for (int i = 0; i < arrayDate.Length; i++)
                        closeDic.Add(arrayDate[i], arrayClose[i]);
    après:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     SortedDictionary<string, double> closeDic =
                        new SortedDictionary<string, double>();
     
                    while (rdr.Read())
                    {
                       closeDic.Add(rdr.GetString(0), rdr.GetDouble(1));
                    }
    ferme ta connexion après ta boucle while et oublie pas de vérifier que ta connexion est fermé dans le catch ou rajoute un finally et ferme la connexion dedans

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2010
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 176
    Par défaut
    un grand merci youtpout978.
    effectivement, une partie de mon code était un peu compliqué et inutile.
    maintenant, mon souci avec le finally est que la connexion conn ouverte dans le try, n'existe pas dans le finally (the name 'conn' doesn't exist in the current context) ...

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Oui il faut que tu la déclare avant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     // Building a connection string
                    string cs = "server=" + serverDatabase + "; user=" +
                        userDatabase + "; database=" + nameDatabase +
                        ";port=" + portDatabase + ";password=" + passwordDatabase;
     
                    // Creating a MySql connection
                    Console.WriteLine("Connecting to MySQL...\n");
                    MySqlConnection conn = new MySqlConnection(cs);
    try
                {
     
     
                    conn.Open();
    dans ton finally tu test si ta connexion est open et si c'est le cas tu la ferme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme date et heure avec mysql.
    Par argon dans le forum Langage SQL
    Réponses: 1
    Dernier message: 11/07/2005, 22h42
  2. [XSLT]tableau double entrée avec cellule manquante
    Par nferay dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 08/03/2005, 15h07
  3. Restaurer un double-boot avec Lilo
    Par Laurent Gomila dans le forum Administration système
    Réponses: 7
    Dernier message: 28/11/2004, 18h14
  4. Format de date et molette avec Scrollbar
    Par SteelBox dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/11/2004, 00h54
  5. Import de date vers MSDE avec BCP
    Par slc dans le forum Outils
    Réponses: 4
    Dernier message: 16/08/2004, 12h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo