PreparedStatement

3 respostas
H

Duvida basica (acho), geralmente usamos o PreparedStatement assim:

String cmd = “SELECT * FROM sistema WHERE id = ?”;

Referenciando a mudanca apenas de valores.

Queria saber se posso fazer isso e se a performance otimizada do PreparedStatement sera a msm?

String cmd = “SELECT * FROM ? WHERE id = ?”;

Neste caso, posso mudar tanto o parametro id, qto o parametro da tabela do select.

E ai, sem problemas? Desempenho continua blz?

3 Respostas

Rafael_Nunes

Você não consegue informar o nome da tabela em tempo de execução, pois a instrução SQL é pré-compilada. Somente os parâmetros de consulta podem ser enviados.
Pode testar aí que ele dá um ‘invalid table name’

H

ah blz, vlw entao

ACDias

Vc pode criar uma string com o nome da tabela e descobrir seu valor antes de chamar o comando sql, aí vc concatena o nome da tabela com o comando.

String NomeTabela = "sistema"; String cmd = "SELECT * FROM "+NomeTabela+" WHERE id = ?";

Criado 3 de outubro de 2006
Ultima resposta 4 de out. de 2006
Respostas 3
Participantes 3