Problemas conexao java com banco de dados postgree

11/02/2020

0

Olá a todos estou tendo problemas e preciso de ajuda

import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import modelo.ModeloCadastros;


public class ControleCadastros {
ConexaoBD conex = new ConexaoBD();
ModeloCadastros mod = new ModeloCadastros();


public void Salvar (ModeloCadastros mod){
conex.conexao();
try {
PreparedStatement pst = conex.con.prepareStatement("insert into cadastro(nome_paciente,rg,cpf,conjunto_destino,observacao) values ?,?,?,?,?");
pst.setString(1,mod.getNome());
pst.setInt(2,mod.getRg());
pst.setInt(3,mod.getCpf());
pst.setInt(4,mod.getConjuntodestino());
pst.setString(5,mod.getObservacao());
pst.execute();

JOptionPane.showMessageDialog(null, "Dado inseridos com Sucesso");

} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Erro ao inserir Dados/nErro:" +ex);
}


conex.desconecta();

o erro que aparece no postgre é: ERROR:syntax error at or near "$1" posicao 79

ja tentei de tudo e nao consegui resolver
Augusto Whitaker

Augusto Whitaker

Responder

Post mais votado

12/02/2020

Olá amigo, tudo bem?

Ja tentou colocar parenteses nos seus valores?

Uma query SQL pra insert geralmente usa essa sintaxe:
insert into cadastro(nome_paciente,rg,cpf,conjunto_destino,observacao) values (?,?,?,?,?)


Então acho que na sua linha, deixe desta forma:
PreparedStatement pst = conex.con.prepareStatement("insert into cadastro(nome_paciente,rg,cpf,conjunto_destino,observacao) values (?,?,?,?,?)");


Verifique se assim funciona.

Espero ter ajudado. :D

Alex William

Alex William
Responder

Mais Posts

13/02/2020

Augusto Whitaker

Olá amigo, tudo bem?

Ja tentou colocar parenteses nos seus valores?

Uma query SQL pra insert geralmente usa essa sintaxe:
insert into cadastro(nome_paciente,rg,cpf,conjunto_destino,observacao) values (?,?,?,?,?)


Então acho que na sua linha, deixe desta forma:
PreparedStatement pst = conex.con.prepareStatement("insert into cadastro(nome_paciente,rg,cpf,conjunto_destino,observacao) values (?,?,?,?,?)");


Verifique se assim funciona.

Espero ter ajudado. :D



Cara muito obrigado,você ajudou muito e de quebra passou um conhecimento valioso,Deus abençoe.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar