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 :

CSHARP et l'Apostrophe dans un String


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Par défaut CSHARP et l'Apostrophe dans un String
    Bonjour !
    J'utilise visual studio 2005
    Je n'ai fais de C# et je voudrais savoir comment fait on pour passé
    une donnée : 'Studio'Ro'ots'
    en : 'StudioRoots'


    Je cherche juste a faire disparaitre l'apostrophe dans la chaine de caractère.
    Car cette chaine de caractère fais Bugger ma requête.
    Ma requête ne veut se lancé elle me marque problème de virgule ORA-00917.

    J'espère avoir été clair!

    Merci de votre patience

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
                string s = @"Studio'Ro'ots";
                s.Replace("'", String.Empty);

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Le problème des ' dans les requêtes SQL (tout SGBD confondu) est classique et ta solution de "je sais pas comment on enregistre les ' donc je les vire et no soucy" est tout de même un peu ... extrême : en quoi la donnée 'StudioRoots' serait-elle légitime si elle devrait normalement être 'Studio'Ro'ots' ?

    Il y a d'autres solutions pour qu'un SGBD accepte les ' : passer par des requêtes paramètrées (le plus propre), doubler le ' fonctionne parfois ou toute autre combinaison avec un caractère d'échappement (propre au SGBD).

  4. #4
    Membre averti
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Par défaut
    Merci pour vos réponse.

    alavoler == Ton code ne marche pas ^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                string s = @"Studio'Ro'ots";
                s.Replace("'", String.Empty);
    Quand je lance ma requête je vois toujours des apostrophes et de ce fait sa ne fonctionne pas.



    Kaidan =>
    Ta solution semble la plus pertinente,
    j'y avais déjà pensé en doublant les apostrophes mais la aussi aucun bon résultat!
    Le meilleur résultat serait de garder les apostrophes je vais donc faire des recherches dans cette voie.

    Pour info j'utilise visual studio 2005, et la base de donnée est ORACLE.

    Vivement la résolution ^

  5. #5
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    d'accord avec kaidan mais si tu tiens à ta solution tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private string EnleverApostrophe(string maChaine)
    {
    if(string.IsNullOrEmpty(maChaine) || maChaine.Length < 2)
      return machaine;
    stringbuilder sb = new stringbuilder();
    for (int i = 1; i<maChaine.length-1;i++)
    {
      if (maChaine[i]!="'")
        sb.Append(maChaine[i]);
    }
    return sb.tostring();
    }

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Suite à une petite recherche via Google, Oracle accepte le doublement des '.

    Concernant le problème du code fourni précédemment, c'est juste que Replace n'affecte pas la chaîne courante mais retourne une nouvelle chaîne. Il faut donc faire un s = s.Replace(...);.

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

Discussions similaires

  1. Echapper apostrophe dans string
    Par dubitoph dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 31/12/2009, 17h28
  2. Ignorer l'apostrophe dans un String
    Par guitariste dans le forum JDBC
    Réponses: 5
    Dernier message: 21/08/2008, 15h03
  3. Insérer une apostrophe dans une String
    Par plutonium719 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/08/2006, 11h02
  4. Recherche d'un String dans un String ?
    Par apen2k2 dans le forum Langage
    Réponses: 9
    Dernier message: 14/04/2003, 11h08
  5. Centrer un texte dans un string Grid
    Par christine dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/10/2002, 22h33

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