>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Problema conexão PostgreSQL



Tela Eclipse com a biblioteca do postgreSQL na lib
http://rlsystem.com.br/forum/disco/uploads/35f259f5425295a2ec4e5bf8d5cf542f-tela eclipse.jpg


Tela do PostgreSQL com alguns dados inseridos manualmente para teste,
database: chamados
user: postgres
senha:123456
http://rlsystem.com.br/forum/disco/uploads/4668a8d4b760fcc1b8122bcd3af5306e-postgreSQL.jpg

Erro apresentado quando clico em abrir chamado: Problema no banco de dados : Não pode utilizar métodos de consulta que pegam uma consulta de um comando preparado.



10 Respostas


Estou tentando de todas as formas arrumar o erro, mas nada de funcionar até agora.




Paulo,

Qual erro mostrado no Java?

Pode mostrar seu código também?




coloquei o projeto zipado pra vc analisar.

http://rlsystem.com.br/forum/disco/uploads/68887fd705f84dbd9bdbeb46ad621044-Chamado_Treino.rar




Opa

O código eu já vi, queria mesmo o erro via java que é mostardo




org.postgresql.util.PSQLException: Não pode utilizar métodos de consulta que pegam uma consulta de um comando preparado.
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:249)




Esse erro é quando você lista ou executa algum insert, update?

E quando lista vai?




Apenas testei utilizando com o insert, com consultas não, eu parei a aula neste ponto.




Paulo

Você esta dando um executeQuery em um comando SQL para insert.

Só utilize o executeQuery para SELECT.

Neste caso, utilize o execute ou executeUpdate.




Vejamos as diferenças entre execute, executeQuery e executeSQL.

executeQuery () ---> Isto é usado geralmente para a leitura do conteúdo da base de dados. A saída será na forma de ResultSet . Geralmente declaração SELECT é usada.

executeUpdate () ---> Esta é geralmente usada para alterar as bases de dados. Geralmente DROP TABLE ou DATABASE, INSERT INTO tabela, atualizar a tabela, DELETE. A saída será na forma de int. Este valor int indica o número de linhas afetadas pela consulta.

execute () ---> Se você não sabe qual o método a ser utilizado para a execução de instruções SQL, este método pode ser usado. Isso irá retornar um booleano. TRUE indica o resultado, é um ResultSet e FALSE indica que ele tem o valor int que indica número de linhas afetadas pela consulta.

Basicamente isso aí.


Boa sorte e bons códigos!

Isto é usado geralmente para a leitura do conteúdo da base de dados. A saída será na forma de ResultSet . Geralmente declaração SELECT é usada.

executeUpdate () ---> Esta é geralmente usada para alterar as bases de dados. Geralmente DROP TABLE ou DATABASE, INSERT INTO tabela, atualizar a tabela, DELETE. A saída será na forma de int. Este valor int indica o número de linhas afetadas pela consulta.

execute () ---> Se você não sabe qual o método a ser utilizado para a execução de instruções SQL, este método pode ser usado. Isso irá retornar um booleano. TRUE indica o resultado, é um ResultSet e FALSE indica que ele tem o valor int que indica número de linhas afetadas pela consulta.

Basicamente isso aí.


Boa sorte e bons códigos!">!-->



Obrigado Perivaldo, pela colaboração no fórum.