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 02/05/2008, 19h53   #1
Membre habitué
 
Inscription : novembre 2007
Messages : 381
Détails du profil
Informations personnelles :
Âge : 29
Localisation : Maroc

Informations forums :
Inscription : novembre 2007
Messages : 381
Points : 148
Points : 148
Par défaut Envoi de valeur du text area a la base de données

Salut,
J'ai un problème qui je l'ai jamais fait attention, celui de l'insertion d'une valeur d'un texte area dans une base de données sql server 2000.
Quand j'écris un texte du genre "J'ai un problème qui je l'ai jamais fait attention" y a pas de problème mais le problème est dans le texte du genre
"J'ai un problème
qui je l'ai jamais
fait attention"
Une idée sur ce sujet.
Merci d'avance.
debutantasp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2008, 12h13   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 862
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 862
Points : 5 982
Points : 5 982
Salut,

C'est l'apostrophe qui pose pb. Ce caractère est considéré comme un terminateur de chaine dans la requête sql. Il faut la doubler.
Citation:
J'ai un problème qui je l'ai jamais fait attention
Devient
Citation:
J''ai un problème qui je l''ai jamais fait attention
Pour cela tu peux faire une fonction. Il faut souvent faire un traitement sur les données qu'on envoi à une base de donnée. Pour cela une fonction générique est utile.
Code :
1
2
3
4
5
6
7
8
9
10
11
Function DBFormat(valeur, type, nullable)
     Dim tmp
     Select case lcase type
          case "string"
                tmp = replace(valeur, "'", "''")
          case "numeric"
          case "date"
          case "else"
     End Select
     DBFormat = tmp
End function
Voici un petit brouillon à faire évoluer.
Code :
"INSERT INTO MATABLE (MONCHAMP) VALUES (" & DBFormat(request.form("txtArea"), "string", true) & ");"
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 11h52   #3
Membre habitué
 
Inscription : novembre 2007
Messages : 381
Détails du profil
Informations personnelles :
Âge : 29
Localisation : Maroc

Informations forums :
Inscription : novembre 2007
Messages : 381
Points : 148
Points : 148
Bonjour,
J'ai aucun problème avec le ' mais je parlais plutôt d'un contenu avec un retour chariot, lorsque je fais l'insertion il prend juste la première ligne de la zone du texte area et il vire l'autre partie.
debutantasp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 21h02   #4
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 862
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 862
Points : 5 982
Points : 5 982
il faut faire une recherche sur "vbcrlf" et éventuellement le remplacer par "<br />" pour afficher un retour chariot pour le rendu html.
Code :
replace(chaine, vbcrlf, "<br />")
Par contre il faut faire le remplacement inverse si tu veux réafficher le texte dans la textarea.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 23h22   #5
Membre habitué
 
Inscription : novembre 2007
Messages : 381
Détails du profil
Informations personnelles :
Âge : 29
Localisation : Maroc

Informations forums :
Inscription : novembre 2007
Messages : 381
Points : 148
Points : 148
Merci Immobilis, est ce que c'est la seule solution?
debutantasp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2008, 14h22   #6
Membre habitué
 
Inscription : novembre 2007
Messages : 381
Détails du profil
Informations personnelles :
Âge : 29
Localisation : Maroc

Informations forums :
Inscription : novembre 2007
Messages : 381
Points : 148
Points : 148
Je viens de la tester, elle marche très bien. même j'ai pas besoin de la remplacer dans l'affichage car il m'affiche le texte sans <br /> et avec le retour chariot.
debutantasp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2008, 23h12   #7
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 862
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 862
Points : 5 982
Points : 5 982
Citation:
Envoyé par debutantasp Voir le message
j'ai pas besoin de la remplacer dans l'affichage car il m'affiche le texte sans <br /> et avec le retour chariot
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2008, 12h02   #8
Membre habitué
 
Inscription : novembre 2007
Messages : 381
Détails du profil
Informations personnelles :
Âge : 29
Localisation : Maroc

Informations forums :
Inscription : novembre 2007
Messages : 381
Points : 148
Points : 148
Exemple :
Texte inséré sur la base de données :Salut<br />ca va?<br />
quand je fais response.write(rs("champ"))
Il m'affiche :
Salut
ca va?
Sans remplacer le <br />
Citation:
Envoyé par Immobilis
Par contre il faut faire le remplacement inverse si tu veux ré afficher le texte dans la textarea.
debutantasp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2008, 12h57   #9
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 862
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 862
Points : 5 982
Points : 5 982
Ok, mais que se passe-t-il quand tu veux modifier ce texte et que tu l'affiche de nouveau dans ta textarea?
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2008, 14h56   #10
Membre habitué
 
Inscription : novembre 2007
Messages : 381
Détails du profil
Informations personnelles :
Âge : 29
Localisation : Maroc

Informations forums :
Inscription : novembre 2007
Messages : 381
Points : 148
Points : 148
J'ai pas pensé à ça, mais à ce cas la il est obligatoire de les remplacer avant d'afficher le texte dans la texte area.
Merci.
debutantasp 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 00h32.


 
 
 
 
Partenaires

Hébergement Web