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 :

Probléme MySQL INSERT C#.net


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Par défaut Probléme MySQL INSERT C#.net
    Bonjour à tous apres moulte réflexion et x recherche je me décide a poster un message sur le forum afin de soliciter une aide pour mon probléme qui est le suivant :

    Je développe une application en C# sous visual studio 2005 avec une base de donnée MySQL 5.0.
    Tout au long du développement je n'ai pas eu de soucis particulier j'utilise la référence .NET 1.1\MySql.Data.dll pour attaquer ma base de données et je simule mon serveur avec une base easyPHP (MySQL 4.1.9).
    Mon appli (gestion de stock et de commande) marche à merveille sur mon poste en local.

    Mais j'ai déployé une base MySQL 5.0 sur le serveur de l'entreprise afin d'y stocker mes données. Tout marche bien j'ai créé un utilisateur de test avec tout les droits admin. Ca marche bien sur tous les types de requetes sauf les INSERT. Alors qu'elles machaient tres bien en local, et qu'elles marchent en reseau avec SQLyog impossible depuis l'appli. J'ai essayé différentes syntaxes j'ai essayé des importations/exportations de ma base sous toutes formes et options différentes...
    Je précise bien que seules les requetes Insert ne marchent pas...
    Si quelqu'un à une idée ça m'arrangerait énormément !
    MySQL 5.0 marche bien avec ma référence MySql.Data (V1.0.9.0) ou est elle trop ancienne ?
    Merci
    Codialement
    Nicolas.

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    "ça marche pas" ne veut pas dire grand chose...
    Quel est le problème avec la requête INSERT ? Exception ?
    Quel est le code utilisé pour l'éxecution de cette requête ?

    Merci
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Par défaut
    Excusez mon peu de vocabulaire je débute dans le développement...

    Aucune exception levées, juste que l'insertion ne se fait pas...
    J'utilise pour me connecter une classe que j'ai créée
    extrait de code apres :
    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
     
    ConnexionBase.executRqt("INSERT INTO `articles` VALUES (\"\", \"" + dateTimePicker1.Text + "\", \"" + textBox1.Text + "\", \"" + richTextBox1.Text + "\",\"" + domainUpDown1.Text + "\",\"" + comboBox8.Text + "\",\"\",\"" + textBox2.Text + "\",\"" + regRemp.Replace(textBox7.Text, ".", 1) + "\",\"0\")")
     
    méthode de classe :
     
    public string executRqt(String uneRqt)
    {	
    try
    {
    if(cnx.State == System.Data.ConnectionState.Closed)
    {                    
    cnx.Open();
    }
    MySqlDataAdapter req = new MySqlDataAdapter();
    req.SelectCommand = new MySqlCommand(uneRqt,cnx);
    req.SelectCommand.ExecuteNonQuery();
    }
    catch(Exception e)
    {
    return e.Message;
    }
    }
    Je ne pense pas que ça soit un probléme de code car ça "marche" trés bien en local, c'est plus un probléme de droit ou autre sur MySQL .. enfin je pense j'ai tout essayé niveau syntaxe et quand je colle ma requete directement en commande MySQL sur le serveur elle fonctionne, l'insertion se fait...
    ... depuis mon premier message j'utilise la version 5.1.2 de MySql.Data

    Merci

  4. #4
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Par défaut
    J'ai recentré le probléme si ça cause à quelqu'un :
    C'est mon auto increment de ma table qui ne passe pas depuis C#

    insert into `articles` values ('','','','','','','','','','')

    Structure de la table :
    `article_id` int(5) NOT NULL auto_increment,
    `article_date` text,
    `article_nom` text,
    `article_commentaires` text,
    `article_QT` int(10) default NULL,
    `article_code` text,
    `article_image` longblob,
    `article_seuil` int(4) default '0',
    `article_PU` float default '0',
    `article_enc` mediumint(10) default '0',
    PRIMARY KEY (`article_id`)

    Si je rentre un int en dur dans ma requete depuis C#, style :
    insert into `articles` values ('5','','','','','','','','','')
    là ça marche...
    Apparement l'auto increment ne passe pas avec ExecuteNonQuery de MySql.Data

    Faut il auto incrémenter en manuel sous C# en récupérant le last_insert() sur le champ ?
    merci...

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Tu devrais essayer en spécifiant dans la requête insert les champs dont tu passes les valeurs. De cette manière, tu évites de spécifier l'ID qui devrait alors être automatiquement ajouté.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 13
    Par défaut
    J'ai trouvé ma réponse en bidouillant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ConnexionBase.executRqt("INSERT INTO `articles` VALUES (\"\", \"" + dateTimePicker1.Text + "\", \"" + textBox1.Text + "\", \"" + richTextBox1.Text + "\",\"" + domainUpDown1.Text + "\",\"" + comboBox8.Text + "\",\"\",\"" + textBox2.Text + "\",\"" + regRemp.Replace(textBox7.Text, ".", 1) + "\",\"0\")")
    remplaçer le champ : ...VALUES ("","text","text".......)
    en
    ...VALUES (NULL,"text","text".......)

    ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ConnexionBase.executRqt("INSERT INTO `articles` VALUES (NULL, \"" + dateTimePicker1.Text + "\", \"" + textBox1.Text + "\", \"" + richTextBox1.Text + "\",\"" + domainUpDown1.Text + "\",\"" + comboBox8.Text + "\",\"\",\"" + textBox2.Text + "\",\"" + regRemp.Replace(textBox7.Text, ".", 1) + "\",\"0\")")
    C'est tout con ça fait perdre plein de temps mais en général c'est toujours comme ça

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

Discussions similaires

  1. Probléme MySQL INSERT C#.net
    Par Nicodu54 dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/06/2007, 16h58
  2. Problème d'INSERT avec caractères accentués: mysql 5.0
    Par yizashi dans le forum Installation
    Réponses: 2
    Dernier message: 05/04/2006, 10h26
  3. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 11h34
  4. Problème d'insertion ( équivalence mysql )
    Par syl2095 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 03/12/2004, 17h35
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

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