[Resolvido] setter java.sql.PreparedStatement - MySQL JDBC

Bom dia!

Eu gostaria de saber como eu posso adicionar um nome de coluna, tabela ou até mesmo um “pedaço de query” pelos “setters” do PreparedStatement.
Exemplo:

[code]String query = "UPDATE ? " // No lugar dessa interrogação entraria o nome de uma tabela

  • “SET preco = 100 WHERE codigo = 1”;

PreparedStatement pst = con.prepareStatement();
pst.setString(1, “produtos”); // Se eu usar o setString, a query ficará como UPDATE ‘produtos’ […] e não rodará.[/code]

Alguém já precisou fazer algo do tipo?

Abraço a todos!

Não se pode adicionar isso.
Os setters só podem definir parâmetros.

Então a única forma seria concatenar mesmo?

[code]String query = "UPDATE " + tabela + " "

  • “SET preco = 100 WHERE codigo = 1”;[/code]

Dependendo da quantidade de elementos, sugiro trocar a String por StringBuilder…

Beleza, vou me atentar a isso, valeu drsmachado :slight_smile:

Porque…?

Estas duas declarações são exatamente iguais em termos de performance:

String s = "abc" + parametro1 + " def" + parametro2 + ... + "xyz" + parametroN;
StringBuilder sb = new StribngBuilder().appen("abc").append(parametro1).append(" def").append(parametro2) ... .append("xyz").append(parametroN);