2 messaggi dal 23 settembre 2007
ho scritto lo stesso post nella sezione "asp avanzato" ma mi sn accorto che nn è una domanda così difficile per ki se ne intende un po', quindi sposto di qua il messaggio.. ^^'

Ciao a tutti, ho un piccolo problemino con il passaggio di parametri tra pagine asp e nell'utilizzo degli stessi in SQL.

supponendo una generica chiamata
pagina.asp?cl=AA

come dovrei modificare questo codice affinchè funzioni correttamente?

<%@LANGUAGE = JScript%>
<!--#include file="config.inc"-->
<%
var cl = Request.QueryString("cl");
var Rs = Cn.Execute("SELECT cliente, prodotto, id, evaso FROM ordine WHERE cliente = " & cl);
%>


p.s. il file config.inc contiene il codice per la connessione al DB

in pratica voglio che il parametro passato tra le due pagine sia utilizzato nella condizione WHERE del codice SQL...

..è fattibile?? forse sbaglio la sintassi..
DeepPink ha scritto:
come dovrei modificare questo codice affinchè funzioni correttamente?


<% 
var cl = Request.QueryString("cl"); 
cl = cl.replace("'", "''");
var Rs = Cn.Execute("SELECT cliente, prodotto, id, evaso FROM ordine WHERE cliente = '" + cl + "'"); 
%> 

Modificato da m.casati il 24 settembre 2007 08.56 -

Matteo Casati
GURU4.net
2 messaggi dal 23 settembre 2007
ciao, grazie del suggerimento, ma alla fine ero riuscito a risolvere il problema per i fatti miei !! posto il codice che ho utilizzato, se può essere d'aiuto a qualche altro neofita come me ^^

<%@LANGUAGE = JScript%>
<!--#include file="config.inc"-->

<%
  var strcliente = new String(Request.form("idcl"));
  var sql = " SELECT cliente, prodotto, id, evaso FROM ordine WHERE cliente = '" + strcliente + "' ";
  var Rs = Cn.Execute(sql);
%>

[..]


Modificato da DeepPink il 25 settembre 2007 09.35 -
deeppink ha scritto:
posto il codice che ho utilizzato, se può essere d'aiuto a qualche altro neofita come me


Meglio di no, anzi! State alla larga da codice come quello nell'esempio che hai postato!!!
Il tuo codice infatti, non raddoppiando gli apici singoli (caratteri di quotatura per le stringhe nelle istruzioni sql), genera almeno due problemi:

1) "esplode" se il parametro contiene il carattere "'" (ad esempio: l'albero)

2) espone il db ad attacchi di sql injection (tanto per intenderci ti possono fare delle drop table via query string...)

Matteo Casati
GURU4.net

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.