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 :

Probleme de conversion MySql / String


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Points : 57
    Points
    57
    Par défaut Probleme de conversion MySql / String
    Salut à tous. Voila, j'utilise une base de données mysql à travers une appli sous VS 10. Il s'agit d'une appli windows

    Alors, j'utilise un chronomètre, à travers cette classe

    http://msdn.microsoft.com/en-us/libr...stopwatch.aspx

    Ensuite, lorsque je veux enregistrer ma valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            public void finTest()
            {
                stopWatch.Stop();
                TimeSpan ts = stopWatch.Elapsed;
                string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10); 
                MessageBox.Show("Fin, votre score est : " + score + " , votre temps est : " + elapsedTime);
     
                score s = new score(this.score,elapsedTime);
                s.Show();
            }
    Ma procédure pour créer un tuple :

    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
    25
    26
    27
    28
            public void creer(jouer obj)
            {
                MySqlConnection connex = null;
                MySqlCommand cmd1;
                MySqlCommand cmd2;
     
                try
                {
                    connex = connexion.getInstance();
                    cmd1 = connex.CreateCommand();
                    cmd1.CommandText = "SELECT MAX(id) FROM jouer";
                    int num = Convert.ToInt16(cmd1.ExecuteScalar()) + 1;
                    obj.setId(num);
     
                    cmd2 = connex.CreateCommand();
                    cmd2.CommandText = "INSERT INTO jouer(id, nom, score, temps) VALUES (" + obj.getId() + ",'" + obj.getNom() + "', '" + obj.getScore() + "' , '" + obj.getTemps() + ")";
     
                    cmd2.ExecuteNonQuery();
                }
                catch (Exception e)
                {
                    Console.WriteLine("Erreur lors de la création d'un score : " + e);
                }
                finally
                {
                    connex.Close();
                }
            }
    Dans la bdd, le champ 'temps' est un Text.

    L'appli ne m'enregistre pas mon tuple car il me dit que ma variable temps ne correspond à du Text quoi

    Voila un exemple de temps : 00:00:02.36

    Quelqu'un aurait une idée d'un cast spécial par exemple ? Merci

    Je ne suis pas sur de m'être bien exprimé, si besoin, je peux développer certains points et fournir des bouts de code

  2. #2
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    Utilise les requètes paramétrées.
    L'article est pour SQL Server mais c'est exactement la même chose avec mysql
    http://webman.developpez.com/article...ameter/csharp/

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Points : 57
    Points
    57
    Par défaut
    Rho super, une réponse rapide

    Merci !

    Je test sa demain

  4. #4
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Meziantou marque un point avec les requêtes paramétrées. Par contre, ça ne répondra que partiellement à ton problème a priori.

    A partir de .Net 4.0, tu peux utiliser la méthode ToString() de la classe TimeSpan. Elle redéfinit la méthode ToString() afin de te faciliter la chose.
    Cela donnerait donc par exemple :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    obj.getTemps().ToString("hh:mm:ss:fff")
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 269
    Points : 460
    Points
    460
    Par défaut
    Bonjour,

    +1 pour les requêtes paramétrées.

    Sinon le probleme est là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "' , '" + obj.getTemps() + ")";
    ca d'evrait etre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "' , '" + obj.getTemps() + "')";

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Points : 57
    Points
    57
    Par défaut
    Ralala je vais me taper la tête sur les murs X)

    Et le gagnant est antoine.debyser avec l'oubli d'une ' ...



    Merci à tous, je vais tout de même me renseigner sur vos conseils, c'est toujours bon à prendre !


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

Discussions similaires

  1. Probleme de conversion Object => String
    Par yo_haha dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 19/12/2011, 15h05
  2. Un erreur avec mysql de conversion en string
    Par Gobelins dans le forum Langage
    Réponses: 29
    Dernier message: 13/04/2011, 08h14
  3. Réponses: 7
    Dernier message: 28/02/2008, 16h56
  4. conversion float-string, probleme de precision.
    Par KINENVEU dans le forum Général Python
    Réponses: 2
    Dernier message: 18/01/2008, 08h47
  5. Probleme de conversion String -> Date avec SimpleDateFormat.parse(String)
    Par jeanlouis_lecodeur dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 02/07/2007, 09h18

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