Query SELECT parametrica con ADO Command
Ricerca un record evitando la concatenazione diretta.
Quando si usa
Quando una query usa valori ricevuti dall'URL o da un form.
Perché si usa
I parametri separano i dati dal comando SQL e rappresentano una protezione importante contro SQL injection ed errori di sintassi.
Vantaggi principali
- Tipo del parametro definito
- SQL più leggibile
- Nessuna concatenazione del valore ricevuto
Anteprima del risultato
La query parametrica consente di cercare dati nel database senza concatenare direttamente valori inseriti dall'utente.
Il valore viene passato come parametro e non come testo SQL libero.
Codice completo
Puoi copiare il frammento e inserirlo in una pagina di prova. Prima della pubblicazione sostituisci i dati dimostrativi con quelli reali.
<%
Const adCmdText = 1
Const adInteger = 3
Dim cmd, rs, id
id = CLng(Request.QueryString("id"))
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "SELECT ID, TITOLO FROM ARTICOLI WHERE ID = ?"
cmd.Parameters.Append cmd.CreateParameter("pID", adInteger, 1, , id)
Set rs = cmd.Execute
If Not rs.EOF Then Response.Write Server.HTMLEncode(rs("TITOLO"))
rs.Close:Set rs=Nothing:Set cmd=Nothing
%>Da personalizzare: Aggiorna tabella, campi, tipo ADO e connessione. Per Access l'ordine dei parametri deve corrispondere ai punti interrogativi.
Errore da evitare: Non cambiare l'ordine dei parametri e usa il tipo ADO coerente con il campo del database.