PadrE
Abril 10, 2006, 3:50pm
#1
Pessoal,
Eu to tendo que dar manutenção em um programinha JAVA de outro cara… cara esse que nunca conheci… ^^
E no código eu vi umas montagem de SELECT e umas chamadas de PROCEDURES com um ponto de interrogação " ? "
querySQL = "SELECT * FROM TABELA WHERE id = ?";
String chama_proc = "{call " + minhaProcedure + "(?)}";
Eu sei que ele eh prapassagem de parâmetros, mas como funciona ??
Como saber qual parâmetro esta sendo passado ??
vlw’s !
Provavelmente ele deve estar usando um PreparedStatement. Entao, por exemplo, se o parâmetro esperado for uma String, deve-se fz da seguinte maneira:
ps.setString(1, "parametro");
Isso significa que a primeira ‘?’ vai receber a String que você passou.
Isso chama-se PreparedStatement , é uma boa pratica para montar querys, o ? refere-se ao parametro recebido pelo query, nesse exemplo abaixo tenho 2 parametros, não preciso me preocupar em colocar aquelas chatas aspas simples ou duplas.
String sql = "insert into tabela (coluna1,coluna2)values(?,?)";
PreparedStatement stmt = this.connection.prepareStatement(sql);
stmt.setString(1, "aaaa");
stmt.setInt(1, 2);
stmt.execute();
stmt.close();