Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/09/2006, 12h32   #1
Invité de passage
 
Inscription : avril 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 28
Points : 4
Points : 4
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.
nourbane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 13h38   #2
Membre actif
 
Inscription : avril 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2004
Messages : 202
Points : 192
Points : 192
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 :
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 :
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
agrotic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 16h10   #3
Invité de passage
 
Inscription : avril 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 28
Points : 4
Points : 4
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 :
<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 :
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?
nourbane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 16h17   #4
Membre actif
 
Inscription : avril 2004
Messages : 202
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : avril 2004
Messages : 202
Points : 192
Points : 192
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
agrotic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2006, 16h31   #5
Invité de passage
 
Inscription : avril 2006
Messages : 28
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 28
Points : 4
Points : 4
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.
nourbane est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h08.


 
 
 
 
Partenaires

Hébergement Web