Pb de ' dans ma bd

Signaler
-
 pitoux -
Bonjour,
quand j'execute le code suivant :

SQL_add_zone="EXEC sp_referential_add_zone '"&name&"' "
set add_zone = conn.Execute(SQL_add_zone)
les ' et " dans la variable name font planter la requete

SQL_add_zone="EXEC sp_referential_add_zone """&name&""" "
set add_zone = conn.Execute(SQL_add_zone)
là les ' et " sont acceptés mais tous les champs de la table deviennent obligatoires.

Je n'ai plus d'idée.

Merci d'avance

Pitoux

7 réponses

name=replace(name,"'","''")
SQL_add_zone="EXEC sp_referential_add_zone '"&name&"' "
set add_zone = conn.Execute(SQL_add_zone)
J'ai déjà essayé ca mais ca ne marche pas dans mon cas car dans la base les ' sont remplacés par des " et je ne peux pas.

Merci quand même

Pitoux
Montre voir le résultat de response.write(SQL_add_zone="EXEC sp_referential_add_zone '"&name&"'"
)
juste avant l'execution de ta requete.
EXEC sp_referential_add_zone 'to'to' avec to'to comme valeur de mon champ.
Donc il faut mettre 'to''to' (2x') et un
replace(name,"'","''")doit marcher
J'ai trouvé la solution:

<%
function parse(str)
Dim i, letter, temp
for i = 1 to len(str)
letter = mid(str,i,1)
if letter = chr(34) then
letter = replace(letter,chr(34),"""")
'letter = replace(letter," ","")
temp = temp & letter
else
temp = temp & letter
end if
next
temp = replace(temp,"'","''")
parse = temp
end function
%>

<%
' récupération des données du formulaire d'ajout d'une zone
name = Request.form("name")
name = parse(name)

%>
<!-- #include file="../include/conn_base_begin.asp" -->
<%' requete d'ajout à la base par procédure stockée
SQL_add_zone="EXEC sp_referential_add_zone '"&name&"' "

Merci à toi Bud

A +

Pitoux
J'ai trouvé la solution (cf mon message précedent)

Merci à toi Bud

A +

Pitoux