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

ASP Discussion :

pb d'affichage de guillemets


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Points : 19
    Points
    19
    Par défaut pb d'affichage de guillemets
    Bonjour,

    J'ai un champ texte "nom" , sa valeur est dynamique extraite d'une base de donnée SQL Server.Cette valeur est de type String, elle contient des caractéres spéciaux comme les '/\""è...
    A l'affichage lorsque j'ai un double quote " au debut ou au milieu j'ai pas ma chaine affichée ou j'ai la moitié de la chaine .

    Est ce que quelqu'un peut m'aider et merci d'avance.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Points : 215
    Points
    215
    Par défaut
    quand tu récupères ou insère du texte dans un champ d'une base de donnée SQL, les qotes simples et doubles posent problème car ils sont utilisés comme délimiteurs dans la syntaxe SQL et VB

    ma méthode :
    - doubler les quotes (simples et doubles) à l'insertion en base de donnée
    - dédoublonner les quotes (simples et doubles) à l'affichage

    pour cela, j'utilise 2 fonctions de mon cru :
    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
    function db_in(pString)
    	if default_value(pString, "") = "" then
    		db_in = ""
    	else
    		db_in = Replace(Replace(pString, "'", "''"),"""","""""")
    	end if
    end function
     
    function db_out(pString)
    	if default_value(pString, "") = "" then
    		db_out = ""
    	else
    		db_out = Replace(Replace(pString, "''", "'"),"""""","""")
    	end if
    end function
    ces fonctions utilisent la fonction default_value qui m'évite de devoir gérer les variables vides en assignant une valeur par défaut aux variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function default_value(pChaine, pValue)
    	if pChaine = "" or isnull(pChaine) then
    		default_value = pValue
    	else
    		default_value = pChaine
    	end if
    end function
    Nico, l'agrotic géomatic

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    Salut,

    J'ai utilisé les fonctions citées si dessus mais dans l'affichage dans la zone de texte nom j'ai un probleme comme d'habitude absence de guillemets.
    J'ai ce champ texte rempli dynamiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="pNom" type="text" class="input_form" id="pNom" value="<%=db_out(rs("nom"))%>">
    la valeur de nom dans la base est : nom'/'èà\", ellle apparait dans le champs texte : salle'/'èà\
    En code source j'ai trouvé ce ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input name="pNom" type="text" class="input_form" id="pNom" value="salle'/'èà\"">
    donc c'est normale d'avoir : salle'/'èà\ .

    Mais je veux afficher les guillemets dans les champs textes.

    Que dois-je faire?

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Points : 215
    Points
    215
    Par défaut
    en fait, si tu utilises la fonction 'db_out', tu dois avoir utilisé en permier lieu la fonction 'db_in'.

    mais en voyant ton post, je me demande si ces fonctions vont t'aider car elles sont utiles d'un point de vue SQL, pas du point de vue des champs d'un formulaire...
    je me rends compte que je n'ai jamais essayé d'afficher des guillemets doubles dans un input de type texte quand les délimiteurs utilisés en HTML sont aussi des guillemets doubles.

    essaye peut-être de mettre des guillemets simples comme délimiteurs de ton champ s'il doit afficher des guillemets doubles (et vice et versa).
    par contre, si tu veux afficher à la fois des quillemets simples et doubles dans ton input de type texte, là je ne vois que l'utilisation d'un textarea d'1 seule ligne.
    Nico, l'agrotic géomatic

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    Salut,

    Oui tes fonctions sont utiles, merci pour les fonctions.

    J'essaye de faire un textArea, je voie que c'est la seule solution maintenant.

    Cordialement Nourbane.

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

Discussions similaires

  1. Guillemets dans un imput et affichage
    Par imwdman dans le forum Langage
    Réponses: 7
    Dernier message: 24/12/2012, 08h46
  2. Affichage de guillemets
    Par laxe13 dans le forum Langage
    Réponses: 4
    Dernier message: 19/09/2008, 15h54
  3. Réponses: 9
    Dernier message: 28/10/2005, 11h43
  4. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21
  5. Affichage en passant par un buffer...
    Par Sirotilc dans le forum MFC
    Réponses: 5
    Dernier message: 27/05/2002, 21h00

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