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

MFC Discussion :

[MFC] Problème d'insertion du caractère ' dans une BD


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Points : 49
    Points
    49
    Par défaut [MFC] Problème d'insertion du caractère ' dans une BD
    Bonjour,

    Voilà mon problème : je veux insérer le texte suivant : "Mise à l'heure" dans une base de données Access

    La commande suivante marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CString Heure = "Mise à l heure"
    sSQL="INSERT INTO Synchro(ID_Synchro, Heure) VALUES (1, ' "+Heure+" ')";
    Mais la commande suivante ne marche pas (la même mais avec l'apostrophe)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CString Heure = "Mise à l'heure"
    sSQL="INSERT INTO Synchro(ID_Synchro, Heure) VALUES (1, ' "+Heure+" ')";
    Une idée consisterait bien sûr à modifier la variable Heure en mettant 2 apostrofes à la suite : Heure = "Mise à l''heure"
    Mais ça m'embète car j'ai besoin d'utiliser cet chaine de caractère ailleurs (sans les 2 apostrofes)

    Quelqu'un aurait une idée ? Est-ce possible ?
    Farscape ,Merci d'y penser la prochaine fois.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CString Heure = "Mise à l'heure"
    sSQL="INSERT INTO Synchro(ID_Synchro, Heure) VALUES (1,"+Heure+")";
    essaye comme ça.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Points : 49
    Points
    49
    Par défaut
    En fait je viens de m'apercevoir d'une chose très bizarre :

    Je déclare ma chaine comme ceci :
    CString Heure = "Mise à l''heure";
    Je l'insère dans la base de données :
    sSQL="INSERT INTO Synchro(ID_Synchro, Heure) VALUES (1, ' "+Heure+" ')";
    Puis le déclare une autre chaine
    CString str_lu;
    et je lis cette chaine à partir de la base de données
    mySel.GetFieldVal(1, str_lu);

    et là : str_lu contient "Mise à l'heure";
    avec un seul apostrophe.

  4. #4
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par farscape
    salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CString Heure = "Mise à l'heure"
    sSQL="INSERT INTO Synchro(ID_Synchro, Heure) VALUES (1,"+Heure+")";
    essaye comme ça.
    Non, ça ne marche pas, il faut bien insérer comme ça (1,' "+Heure+" ')"; comme tu me l'avais dit au début.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Points : 49
    Points
    49
    Par défaut
    Je pense que je vais me contenter de redéfinir les chaines de caractères en mettant 2 apostrofes qui se suivent comme "Mise à l''heure"

  6. #6
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Points : 49
    Points
    49
    Par défaut
    C'est bon j'ai trouvé la réponse :

    Il suffisait donc de déclarer avant la commande SQL INSERT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Heure.Replace("'","''");

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

Discussions similaires

  1. probléme d'insertion des variables dans une table
    Par moooona dans le forum Installation
    Réponses: 2
    Dernier message: 30/03/2008, 14h08
  2. insertion de caractères dans une chaine existante.
    Par rassoncaro dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/03/2008, 14h25
  3. problème d'insertion de données dans une map
    Par kifouillou dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 21/02/2007, 10h10
  4. Problème d'insertion d'image dans une fenêtre.
    Par Antigonos Ier Gonatas dans le forum Tkinter
    Réponses: 2
    Dernier message: 26/08/2006, 12h44
  5. [VB6]problème d'insertion des donneés dans une base d'Access2003
    Par lanbok dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/05/2006, 12h17

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