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++Builder Discussion :

Recherche équivalent de la fonction php addslashes


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut Recherche équivalent de la fonction php addslashes
    Bonjour,

    Mon programme C++ envoie des requêtes d'insertion sql à l'API mySql. Il faut donc que je "nettoye" les chaînes de caractères, en particulier que je remplace " ' " par " \' ".

    Existe t'il une fonction "toute faite" qui effectue ces travaux (comme le fait addslashes en php) ?

    Merci pour toute aide.

    Philippe

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Regardes du côté de QuotedStr

    Citation Envoyé par Aide de Builder
    Description

    Utilisez QuotedStr pour convertir la chaîne AnsiString S en une chaîne guillemetée. Un caractère simple (') est inséré au début et à la fin de S et les guillemets simples dans la chaîne sont répétés.

  3. #3
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Merci.

    Mais ce que je souhaite, c'est mettre un slash devant les éventuels quote etc.

    A plus

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Je ne sais pas si une telle méthode existe mais la plupart de mes applications font des accès à une BDD et je n'ai jamais eu à remplacer les (') par des (\')...
    Par contre, je dois doubler les (') pour les chaines de caractères (c'est pour ça que je t'ai proposé QuotedStr).

    Pourquoi dois-tu mettre un (\')???

  5. #5
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    pour déspécialiser l'apostrophe dans la chaîne sql..
    à priori ça n'existe pas...

    moi je l'ai refaite :
    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
    AnsiString __fastcall MyTools::Add_Slashes(AnsiString as)
    {
    	int i = 1;
     
    	while(i<=as.Length())
        {
        	if(as[i] == '\'' )
                {
            	as.Insert('\\',i);
                i += 2;
                }
     
            else
            	i++;
        }
        return as;
    }

  6. #6
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Bonjour,

    En fait, mon problème est le suivant :

    - j'ouvre une connexion ODBC sur SQL Serveur et je lis une table contenant deux champs,
    - j'ouvre en api une connexion sur mySql et j'écris le résultat de ma requête.

    Pour ce faire, je construits à chaque enregistrement lu une instruction sql insert en reprenant les valeurs SourceQuery->FieldByName("champ")->AsString.

    La lecture du premier champ marche nickel. C'est la lecture du second champ qui pose soucis. Or, comme ce champ contient du texte saisi, je me demande si le problème de viendrait pas de caractères parasites.

    Qu'en pensez vous ?

    Merci encore pour l'intérêt que vous portez à mon cas.

    Philippe

Discussions similaires

  1. L'équivalence d'une fonction VB.Net en Php
    Par paradeofphp dans le forum Langage
    Réponses: 3
    Dernier message: 16/05/2007, 13h41
  2. Réponses: 3
    Dernier message: 21/04/2007, 06h18
  3. barre de recherche dans les fonctions php pour firefox
    Par titoumimi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 03/02/2006, 10h16
  4. Réponses: 16
    Dernier message: 20/12/2005, 14h54

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