[MontelLUG] Parametri su jdbc

matteo filippetto matteo.filippetto a gmail.com
Dom 23 Ott 2016 16:39:23 CEST


Il 23 ottobre 2016 14:03, Samuele via montellug
<montellug a montellug.it> ha scritto:
> Quando si fa una query da programma, è buona norma usare i parametri per le
> parti "variabili".
> Ora, stavo vedendo su Java e jdbc, ma pare che non esistano i parametri per
> nome, salvo esempi di accrocchi più o meno evoluti che si trovano sui forum.
>
> Mi confermate che è così?
>
> Es.: metodo scorretto di fare una query (in pseudocodice):
>
> Query.Text = "SELECT * FROM utenti WHERE userid = '" + UserId +"'";
> Query.Open;
>
> Con parametri senza nome:
> Query.Text = "SELECT * FROM utenti WHERE userid = ?"
> Query.Param(0).AsString = UserId;
> Query.Open;
>
> Con parametri con nome:
> Query.Text = "SELECT * FROM utenti WHERE userid = :userid"
> Query.Param("userid").AsString = UserId;
> Query.Open;
>
> Il beneficio del terzo modo sul secondo è che una volta scritto il codice,
> in caso di modifiche, si può ribaltare la query finché si vuole senza dover
> andare a riverificare la posizione dei parametri e modificarne le
> assegnazioni.
> Mi pare molto, molto strano che non siano previsti di default.
>
>

ciao,

si è strano ma è così ... nelle librerie standard non c'è questa
possibilità...puoi usare spring

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.html

https://dzone.com/tutorials/java/spring/spring-named-parameter-jdbc-template.html


-- 
Matteo Filippetto


Maggiori informazioni sulla lista montellug