Utlização do Objeto PreparedStatement

3 respostas
R

Galera,

Tenho um classe que faz a conexao com o banco de Dados e em um dado momento tenho que chamar o método que faz a conexao dentro o PreparedStatement Porém a logica do meu Sistema é Buscar o dados de uma tabela, e gravar as informações em duas outra tabelas Pegunta, preciso sempre chamar o
ps = bd.getConnection().prepareStatement(qlqQuery)
para cada situação de Select e Insert EX:
ConexaoBancoLocal  bd = new ConexaoBancoLocal();
PreparedStatement ps;

ps = bd.getConnection().prepareStatement(_QUERYDESELECT);
ResultSet rs = ps.executeQuery();
.
.
.
ps = bd.getConnection().prepareStatement(_QUERYDeInsertPrimTabela);
.
.
.
int result = ps.executeUpdate();

ps = bd.getConnection().prepareStatement(_QUERYDeInsertSegundaTabela);
.
.
.
int result = ps.executeUpdate();

3 Respostas

I
"rocharrv":
Galera, Tenho um classe que faz a conexao com o banco de Dados e em um dado momento tenho que chamar o método que faz a conexao dentro o PreparedStatement Porém a logica do meu Sistema é Buscar o dados de uma tabela, e gravar as informações em duas outra tabelas Pegunta, preciso sempre chamar o
ps = bd.getConnection().prepareStatement(qlqQuery)
para cada situação de Select e Insert EX:
ConexaoBancoLocal  bd = new ConexaoBancoLocal();
PreparedStatement ps;

ps = bd.getConnection().prepareStatement(_QUERYDESELECT);
ResultSet rs = ps.executeQuery();
.
.
.
ps = bd.getConnection().prepareStatement(_QUERYDeInsertPrimTabela);
.
.
.
int result = ps.executeUpdate();

ps = bd.getConnection().prepareStatement(_QUERYDeInsertSegundaTabela);
.
.
.
int result = ps.executeUpdate();

Não me lembro se você pode alterar as preparedstatement assim ou se você tem que dar um null nela e chamar denovo... mas acredito que não tenha problema, você está tendo problemas?

V

Sim, porque você precisa de uma instância do PreparedStatement com o seu novo statement

Daniel_Quirino_Olive
Nada a ver com a discussão, mas [size=“18”]por que diabos todo mundo cria uma classe que faz conexão com o banco de dados[/size]?

Alguém poderia gritar que é para reusar o mecanismo de obtenção de conexões, outros poderiam dizer que tem pretensões de criar um novo Connection Pool. Para os dois casos, duas respostas:

:arrow: Template Method;

:arrow: Apache DBCP;
Criado 30 de julho de 2004
Ultima resposta 31 de jul. de 2004
Respostas 3
Participantes 4