cs_williams59
Messages postés15Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention23 décembre 2007
-
11 sept. 2007 à 23:51
cs_williams59
Messages postés15Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention23 décembre 2007
-
20 sept. 2007 à 20:04
Bonjour à tous,
J'ai besoin de deleter des records dans une base de données access via un page asp. Au début j'ai eu pas mal de codes d'erreurs.
Seulement après quelques essais j 'ai constaté que lorsque le premier record était un champs numérique ma fonction de delete marchait bien. Par contre lorque le premier champs est en "texte" cela ne marche pas.
Faut il systematiquement pour que la fonction SQL delete marche que le champs soit numerique?
Ci dessous ma ligne dans ma page asp :
SQL = "DELETE * from orders where Owner="& request.querystring("Rec") & ";"
cette fonction marche bien uniquement que si Rec ets de type numérique.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 12 sept. 2007 à 10:24
Bonjour,
et si je tappe dans l'url lapage.aspx?Rec=1 or 1=1 --
A ton avis il se passe quoi ? cela va tout te supprimer !!! attention au SQL injection ! pour régler ce problème de sécurité il faut passer par des procédures stockées ou alors des requêtes paramétrés :
SqlCommand cmd new SqlCommand("delete from orders where owner @Rec")
cmd.parameters.Add(new sqlparameter("@Rec", Request.Querystring("rec")))
cmd.executenonquery()
et là plus deproblème ni de sécurité ni celui sur lequel tu buttes