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

Windows Forms Discussion :

VB NET + Mysql + Commande Parameters


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut VB NET + Mysql + Commande Parameters
    Salut, j'essaie de faire une commande paramétrée.
    Mais cela me donne une erreur et je vois pas d'ou cela viens.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                COMMAND.CommandText = "select id,name from product where name = @producto and id = @id"
                COMMAND.Parameters.Add(New MySqlParameter("@id", MySqlDbType.Int16, 11))
                COMMAND.Parameters.Add(New MySqlParameter("@producto", MySqlDbType.VarChar, 255))
                COMMAND.Parameters("@id").Value = TextBox1.Text
                COMMAND.Parameters("@producto").Value = TextBox2.Text
                COMMAND.ExecuteNonQuery()
    id est au format Int, 11 dans la db, et
    producto est au format varchar, 255

    l'erreur est :

    Une exception non gérée du type 'System.FormatException' s'est produite dans mscorlib.dll

    Informations supplémentaires : Le format de la chaîne d'entrée est incorrect.

    sur COMMAND.ExecuteNonQuery()

    Merci de votre aide.

  2. #2
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Points : 10 543
    Points
    10 543
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Je pense que le soucis vient du paramètre ID, qu'il faudrait plutôt écrire comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COMMAND.Parameters.Add(New MySqlParameter("@id", MySqlDbType.Int32, 11))
    Ca fait très longtemps que je n'ai pas fait de MySQL, mais dans mes souvenirs, un INT(x) est toujours stockée sur 4 octets, qu'importe x. Le x n'influence que la représentation lors de l'affichage, pas le stockage.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut
    Malheuresement ce n'est pas sa. J'avais deja essayer avec int32,int16 et idem.....

    Par contre sous ce code pas de pbl.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                COMMAND.CommandText = "select id,name from product where name = @producto and id = @id"
                COMMAND.Parameters.AddWithValue("@id", TextBox1.Text)
                COMMAND.Parameters.AddWithValue("@producto", TextBox2.Text)
    Donc je me demande ce qu'il se passe car dans les exemples pour SQLparameter c'est comme avant.
    Alors est-ce que pour MysqlParameter c'est different ??? Je voudrais vraiment essayer avec MySqlDbType.

  4. #4
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Points : 10 543
    Points
    10 543
    Billets dans le blog
    21
    Par défaut
    Et en essayant COMMAND.Parameters.Add(New MySqlParameter("@id", MySqlDbType.Int32)) (suppression du paramètre taille) ?
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par François DORIN Voir le message
    Et en essayant COMMAND.Parameters.Add(New MySqlParameter("@id", MySqlDbType.Int32)) (suppression du paramètre taille) ?
    PAreil avec......

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                COMMAND.CommandText = "select id,name from product where name = @producto and id = @id"
                COMMAND.Parameters.Add(New MySqlParameter("@id", MySqlDbType.Int32))
                COMMAND.Parameters.Add(New MySqlParameter("@producto", MySqlDbType.VarChar))
                COMMAND.Parameters("@id").Value = TextBox1.Text
                COMMAND.Parameters("@producto").Value = TextBox2.Text
                COMMAND.ExecuteNonQuery()
    Erreur :

    Une exception non gérée du type 'System.FormatException' s'est produite dans mscorlib.dll

    Informations supplémentaires : Le format de la chaîne d'entrée est incorrect.

  6. #6
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Points : 10 543
    Points
    10 543
    Billets dans le blog
    21
    Par défaut
    Je viens de penser à un truc, c'est peut-être tout simplement la valeur qui n'est pas bonne ou son type : tu déclares le paramètre @id comme étant un entier, mais tu lui passes une chaîne de caractères.

    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     COMMAND.Parameters.AddWithValue("@id", int.Parse(TextBox1.Text))
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

Discussions similaires

  1. se connecter avec le module Net::MySQL
    Par vbcasimir dans le forum SGBD
    Réponses: 5
    Dernier message: 27/07/2006, 18h39
  2. [VB.NET][Excel]Commandes de controles
    Par Yanos dans le forum Windows Forms
    Réponses: 6
    Dernier message: 12/04/2006, 14h45
  3. [VB.NET][MySQL]ID insertion dans une base MySQL par ODBC
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/03/2006, 10h58
  4. [windowsXP][vs studio 2003][vb.net][mysql] odbcdatareader
    Par errahimi dans le forum Accès aux données
    Réponses: 2
    Dernier message: 11/11/2005, 11h53
  5. [VB.NET] [MySQL Connector Net 1.0.4] Pb de MySqlConnection
    Par toxine dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/03/2005, 13h44

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