MsAccess et requête avec ASP

cs_williams59 Messages postés 15 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 23 décembre 2007 - 11 sept. 2007 à 23:51
cs_williams59 Messages postés 15 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 23 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.

Dans l'attente de vous lire.

Merci d avance

2 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
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

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
0
cs_williams59 Messages postés 15 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 23 décembre 2007
20 sept. 2007 à 20:04
Bonjour,

Merci Cyril pour ces informations très précieuses et le temps consacré à me répondre. En suivant tes conseils ca marche.
0
Rejoignez-nous