OVH Cloud OVH Cloud

problème apostrophe

6 réponses
Avatar
jeorme
Bonjour à tous.

J'ai un petit souci sur une prog ASP. J'ouvre un Popup avec un TEXTAREA
qu'on saisit , on clique sur envoyer et ça doit mettre à jour un champ de
type xxx dans SQL Server.
Mon problème est que s'il y a un guillemet ça me plante !!! Je vodrais
savoir la syntaxe en sql qu'on doit passer et dans quel type de champ ?


Merci

6 réponses

Avatar
Laurent MOREAU
Pour ne pas faire planter ton UPDATE tu peux:

Soit utiliser l'object Command pour faire ton Update (a ce moment la pas
besoin de doubler les apostrophes)

Soit modifier ta requete avec un REPLACE pour doubler les apostrophes
Requete = "UPDATE LaTable SET LeChamp='" &
Replace(LaVariableQuiContientLeTexteDuTextArea,"'","''") & "' WHERE ...."
Connection.Execute Requete


Laurent.





"jeorme" wrote in message
news:
Bonjour à tous.

J'ai un petit souci sur une prog ASP. J'ouvre un Popup avec un TEXTAREA
qu'on saisit , on clique sur envoyer et ça doit mettre à jour un champ de
type xxx dans SQL Server.
Mon problème est que s'il y a un guillemet ça me plante !!! Je vodrais
savoir la syntaxe en sql qu'on doit passer et dans quel type de champ ?


Merci




Avatar
Philippe [MS]
REPLACE(@MaVariable, '''', '''''')

Phil.

"jeorme" wrote in message
news:
Bonjour à tous.

J'ai un petit souci sur une prog ASP. J'ouvre un Popup avec un TEXTAREA
qu'on saisit , on clique sur envoyer et ça doit mettre à jour un champ de
type xxx dans SQL Server.
Mon problème est que s'il y a un guillemet ça me plante !!! Je vodrais
savoir la syntaxe en sql qu'on doit passer et dans quel type de champ ?


Merci




Avatar
jeorme
Merci à tous les deux. Ca marche bien avec REPLACE. Perso je voudrais plutôt
utiliser Object Command car je trouve que c'est mieux. Un varchar de 8000
c'est bien en ADO de type AdVarWchar non ?
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le message
de news: cm86eu$nno$

Pour ne pas faire planter ton UPDATE tu peux:

Soit utiliser l'object Command pour faire ton Update (a ce moment la pas
besoin de doubler les apostrophes)

Soit modifier ta requete avec un REPLACE pour doubler les apostrophes
Requete = "UPDATE LaTable SET LeChamp='" &
Replace(LaVariableQuiContientLeTexteDuTextArea,"'","''") & "' WHERE ...."
Connection.Execute Requete


Laurent.





"jeorme" wrote in message
news:
> Bonjour à tous.
>
> J'ai un petit souci sur une prog ASP. J'ouvre un Popup avec un TEXTAREA
> qu'on saisit , on clique sur envoyer et ça doit mettre à jour un champ


de
> type xxx dans SQL Server.
> Mon problème est que s'il y a un guillemet ça me plante !!! Je vodrais
> savoir la syntaxe en sql qu'on doit passer et dans quel type de champ ?
>
>
> Merci
>
>




Avatar
Sylvain Lafontaine
Non, le W indique des Wide Caracters ou caractère à double byte: Unicode
UTF-16; ce qui correspond aux champs de type nvarchar (Unicode et maximum de
4000 caractères au lieu de 8000).

Cependant, comme vous êtes européen et qu'à ce titre vous utilisez fort
probablement le symbole Euro, l'utilisation de l'Unicode (et par conséquent
des champs nchar, nvarchar et ntext) ne serait pas une mauvaise idée dans
votre cas.

S. L.

"jeorme" wrote in message
news:OyQ6B%
Merci à tous les deux. Ca marche bien avec REPLACE. Perso je voudrais
plutôt
utiliser Object Command car je trouve que c'est mieux. Un varchar de 8000
c'est bien en ADO de type AdVarWchar non ?
"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le
message
de news: cm86eu$nno$

Pour ne pas faire planter ton UPDATE tu peux:

Soit utiliser l'object Command pour faire ton Update (a ce moment la pas
besoin de doubler les apostrophes)

Soit modifier ta requete avec un REPLACE pour doubler les apostrophes
Requete = "UPDATE LaTable SET LeChamp='" &
Replace(LaVariableQuiContientLeTexteDuTextArea,"'","''") & "' WHERE ...."
Connection.Execute Requete


Laurent.





"jeorme" wrote in message
news:
> Bonjour à tous.
>
> J'ai un petit souci sur une prog ASP. J'ouvre un Popup avec un TEXTAREA
> qu'on saisit , on clique sur envoyer et ça doit mettre à jour un champ


de
> type xxx dans SQL Server.
> Mon problème est que s'il y a un guillemet ça me plante !!! Je vodrais
> savoir la syntaxe en sql qu'on doit passer et dans quel type de champ ?
>
>
> Merci
>
>








Avatar
Laurent MOREAU
Pour résumer:

SQL-Server : Ado
VarChar : AdVarchar
NVarChar : AdVarWchar


Laurent.



"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)>
wrote in message news:#
Non, le W indique des Wide Caracters ou caractère à double byte: Unicode
UTF-16; ce qui correspond aux champs de type nvarchar (Unicode et maximum


de
4000 caractères au lieu de 8000).

Cependant, comme vous êtes européen et qu'à ce titre vous utilisez fort
probablement le symbole Euro, l'utilisation de l'Unicode (et par


conséquent
des champs nchar, nvarchar et ntext) ne serait pas une mauvaise idée dans
votre cas.

S. L.

"jeorme" wrote in message
news:OyQ6B%
> Merci à tous les deux. Ca marche bien avec REPLACE. Perso je voudrais
> plutôt
> utiliser Object Command car je trouve que c'est mieux. Un varchar de


8000
> c'est bien en ADO de type AdVarWchar non ?
> "Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le
> message
> de news: cm86eu$nno$
>>
>> Pour ne pas faire planter ton UPDATE tu peux:
>>
>> Soit utiliser l'object Command pour faire ton Update (a ce moment la


pas
>> besoin de doubler les apostrophes)
>>
>> Soit modifier ta requete avec un REPLACE pour doubler les apostrophes
>> Requete = "UPDATE LaTable SET LeChamp='" &
>> Replace(LaVariableQuiContientLeTexteDuTextArea,"'","''") & "' WHERE


...."
>> Connection.Execute Requete
>>
>>
>> Laurent.
>>
>>
>>
>>
>>
>> "jeorme" wrote in message
>> news:
>> > Bonjour à tous.
>> >
>> > J'ai un petit souci sur une prog ASP. J'ouvre un Popup avec un


TEXTAREA
>> > qu'on saisit , on clique sur envoyer et ça doit mettre à jour un


champ
> de
>> > type xxx dans SQL Server.
>> > Mon problème est que s'il y a un guillemet ça me plante !!! Je


vodrais
>> > savoir la syntaxe en sql qu'on doit passer et dans quel type de champ


?
>> >
>> >
>> > Merci
>> >
>> >
>>
>>
>
>




Avatar
jeorme
Merci à tous de votre aide. Je vais utiliser des VarChar simple ça devrait
me suffire.


"Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le message
de news: cm8etg$rar$
Pour résumer:

SQL-Server : Ado
VarChar : AdVarchar
NVarChar : AdVarWchar


Laurent.



"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)>
wrote in message news:#
> Non, le W indique des Wide Caracters ou caractère à double byte: Unicode
> UTF-16; ce qui correspond aux champs de type nvarchar (Unicode et


maximum
de
> 4000 caractères au lieu de 8000).
>
> Cependant, comme vous êtes européen et qu'à ce titre vous utilisez fort
> probablement le symbole Euro, l'utilisation de l'Unicode (et par
conséquent
> des champs nchar, nvarchar et ntext) ne serait pas une mauvaise idée


dans
> votre cas.
>
> S. L.
>
> "jeorme" wrote in message
> news:OyQ6B%
> > Merci à tous les deux. Ca marche bien avec REPLACE. Perso je voudrais
> > plutôt
> > utiliser Object Command car je trouve que c'est mieux. Un varchar de
8000
> > c'est bien en ADO de type AdVarWchar non ?
> > "Laurent MOREAU" <l.moreau(enleverceci)@systonic.fr> a écrit dans le
> > message
> > de news: cm86eu$nno$
> >>
> >> Pour ne pas faire planter ton UPDATE tu peux:
> >>
> >> Soit utiliser l'object Command pour faire ton Update (a ce moment la
pas
> >> besoin de doubler les apostrophes)
> >>
> >> Soit modifier ta requete avec un REPLACE pour doubler les apostrophes
> >> Requete = "UPDATE LaTable SET LeChamp='" &
> >> Replace(LaVariableQuiContientLeTexteDuTextArea,"'","''") & "' WHERE
...."
> >> Connection.Execute Requete
> >>
> >>
> >> Laurent.
> >>
> >>
> >>
> >>
> >>
> >> "jeorme" wrote in message
> >> news:
> >> > Bonjour à tous.
> >> >
> >> > J'ai un petit souci sur une prog ASP. J'ouvre un Popup avec un
TEXTAREA
> >> > qu'on saisit , on clique sur envoyer et ça doit mettre à jour un
champ
> > de
> >> > type xxx dans SQL Server.
> >> > Mon problème est que s'il y a un guillemet ça me plante !!! Je
vodrais
> >> > savoir la syntaxe en sql qu'on doit passer et dans quel type de


champ
?
> >> >
> >> >
> >> > Merci
> >> >
> >> >
> >>
> >>
> >
> >
>
>