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 :

Syntaxe en Mysql.


Sujet :

C#

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut Syntaxe en Mysql.
    Bonjour à tous,


    J'INSERT dans une base de donnée MySQL des strings que je récupère depuis un fichier Excel.

    Voilà j'ai eu une erreur (erreur de syntaxe Mysql il était écrit) à un moment sur une chaîne ou il y avait
    " l'unité locale "
    Sur 260 chaines c'était la seule à avoir un problème, et en fait je me suis aperçu que c'était dû au " l' " une fois enlevé nickel, et c'était la seule chaine ou il y avait ceci.

    Ma question est la suivante, savez vous a quoi correspond " l' " pour Mysql ?
    Et est-il possible de faire un Replace("l'","") par exemple ou le replace ne marche que pour un caractère ?

    Merci.

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 64
    Par défaut
    Peut être que cela pourra t'aider : http://dev.mysql.com/doc/refman/5.0/fr/insert.html

    Cordialement,
    clemou01

  3. #3
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Utilise les requêtes paramétrées : ca permet d'éviter les problèmes avec les apostrophe, les formats de date, etc.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    Justement j'ai utilisé les requetes paramétrées... Surement mal du coup.
    Merci pour vos réponses.

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Bonjour,

    peut-on voir le code ?
    En théorie les requête paramétrées sont faites pour régler ce genre de soucis

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    Bonjour.

    Bien sûr voilà.

    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
     
    foreach (string ios in Name_IOS)
                    {
                        // Requete parametrée
                        string Requete = "INSERT INTO ios_citadis(nom_ios,describe_ios,comment_ios,function_ios) VALUES (?nom_ios,?describe_ios,?comment_ios,?function_ios);";
                        // On associe cette requête à la propriété SelectCommand du MySqlDataAdapter
                        MyAdapter.SelectCommand = new MySqlCommand(Requete, Connection);
                        //Création et déclaration des paramètres 
                        MySqlParameter myparamnom = new MySqlParameter("?nom_ios", MySqlDbType.Char, 30);
                        MySqlParameter myparamdescribe = new MySqlParameter("?describe_ios", MySqlDbType.Char, 255);
                        MySqlParameter myparamcomment = new MySqlParameter("?comment_ios", MySqlDbType.Char, 255);
                        MySqlParameter myparamfunction = new MySqlParameter("?function_ios", MySqlDbType.Char, 255);
                        //Attribution des valeurs aux paramètres 
                        myparamnom.Value = ios.ToString();
                        // Je récupère l'indice de la variable
                        int indOfVar = Name_IOS.IndexOf(ios, 0);
                        myparamdescribe.Value = describ_IOS.ElementAt(indOfVar).ToString().Replace("é","e");
                        myparamcomment.Value = comment_IOS.ElementAt(indOfVar).ToString().Replace("é","e");
                        myparamfunction.Value = function_IOS.ElementAt(indOfVar).ToString().Replace("é","e");
     
                        MyAdapter.SelectCommand.Parameters.Add(myparamnom);
                        MyAdapter.SelectCommand.Parameters.Add(myparamdescribe);
                        MyAdapter.SelectCommand.Parameters.Add(myparamcomment);
                        MyAdapter.SelectCommand.Parameters.Add(myparamfunction);
     
                        MyAdapter.SelectCommand.ExecuteNonQuery();
                    }

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Citation Envoyé par Tanoak_LaCapuche Voir le message
    Justement j'ai utilisé les requetes paramétrées... Surement mal du coup.
    Merci pour vos réponses.
    Eh bien non pourtant, c'est comme ça qu'il faut utiliser les requêtes paramétrées =/
    Je ne peux pas vous aider plus que ça pour ma part, mais peut être que ce qui pourrait aider les autres serait de savoir quel provider vous utilisez.

  8. #8
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 64
    Par défaut
    Peux-tu nous poster ton message d'erreur aussi ?

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    asmduty -> Le provider ?
    Merci dans tous les cas, au moins j'ai pu avoir confirmation que j'ai bien codé les requêtes paramétrées !


    clemou01 -> Pour le message d'erreur dans l'idée c'était
    Erreur de syntaxe MySQL before 'unite local" at line 1
    C'est une erreur fréquente apparemment, et de ce que j'ai compris c'est parcequ'on rentre une valeur que le SGBD connait et utilise, donc ne sais pas si c'est du texte ou un caractère utile pour lui. C'est pour ça que je me demandais a quoi peut bien correspondre un l'

  10. #10
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Pour communiquer avec ta base MySQL tu dois utiliser un provider.
    MySQL Connector ou quelque chose comme ça.
    Essaye de voir si ta version est à jour.

  11. #11
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    Ah d'accord tout à fait MysqlConnector.
    Je viens de le télécharger donc je pense que j'ai pris la dernière version (1.0.10)
    Bizarre.

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 151
    Par défaut
    T'as essayé en mettant un \ devant l'apostrophe ? On sait jamais

    Sinon ouai c'est bizarre. J'suis curieux de savoir pourquoi il le prend pas.

    L'erreur viens peut être d'ailleurs, on cherche peut être pas au bon endroit (des fois y'a des trucs c** )

  13. #13
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    il me semble avoir déjà vu des cas où le dataadapter avait ce genre de bug
    de plus vu que tu écris toi même ta requete d'insert, le dataadapter est inutile
    tu créés un command, tu définis la requete et les parameters, puis tu fais command.executenonquery et c'est tout
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  14. #14
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Je ne penses pas que ce soit ca mais on ne sait jamais: L'encodage de ta base de données.

    Sinon je suis de l'avis a @BartRoX, remplacer "'" par "\'", il n'y a pas de raison que ca ne fonctionne pas.

  15. #15
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    D'accord merci à tous pour vos réponses.
    J'essaye en mettant un "\" et je poste en résolu si cela fonctionne.

  16. #16
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Par défaut
    Je ne suis pas sur mais ne peux tu pas utiliser des MySqlDbType.String au lieu de MySqlDbType.Char car il me semble que celui ci n'est utilisable que pour des caractères uniques et non pas des chaines de caractères

  17. #17
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Citation Envoyé par VITALTH Voir le message
    Je ne suis pas sur mais ne peux tu pas utiliser des MySqlDbType.String au lieu de MySqlDbType.Char car il me semble que celui ci n'est utilisable que pour des caractères uniques et non pas des chaines de caractères
    Bien vue!

  18. #18
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2012
    Messages : 179
    Par défaut
    Merci Vitalth !

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

Discussions similaires

  1. Syntaxe MAX() mysql
    Par jmarey dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 30/05/2007, 22h36
  2. syntaxe requete mysql avec des variables
    Par harlock59 dans le forum Requêtes
    Réponses: 2
    Dernier message: 29/09/2006, 17h53
  3. erreur de syntaxe requete mysql
    Par LaFik dans le forum Débuter
    Réponses: 1
    Dernier message: 18/09/2006, 14h23
  4. Syntaxe Requete mysql
    Par seydipogo dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/06/2006, 11h47
  5. Aide syntaxe requête mysql
    Par wjc dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/10/2005, 23h18

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