org.postgresql.util.PSQLException: ERRO: erro de sintaxe em ou próximo

2 respostas
postgresqljavamysql
felipe1234

Pessoal boa tarde ao tentar executar um comando de consulta ele apresenta o seguinte erro org.postgresql.util.PSQLException) org.postgresql.util.PSQLException: ERRO: erro de sintaxe em ou próximo. "444"
Esse “444” seria o valor do cpf que passei como parametro

[CODE]

public DefaultTableModel mostrarConsulta(String cpf,String nome){

try {

con = Conecta.conexao();

} catch (ClassNotFoundException ex) {

Logger.getLogger(ProdutoDAO.class.getName()).log(Level.SEVERE, null, ex);

}

DefaultTableModel modelo;
String [] titulos = {"Cliente Codigo", "Nome ","Email", "Data Nascimento","Cep","Rua","Bairro","Estado","CPF","RG","Telefone","Celular","Data de Cadastro","Numero","UF"};

String [] registro = new String[15];




modelo= new DefaultTableModel(null,titulos);




    try {
         String sql = "Select * from tb_clientes2 where cli_cpf = " + cpf + " or cli_nome = "+ nome +"";
        Statement statement = con.createStatement();

ResultSet rs = statement.executeQuery(sql);

while(rs.next()){
            registro [0]=rs.getString("cli_cpf");
            registro [1]=rs.getString("cli_nome");
            registro [2]=rs.getString("cli_email");
            registro [3]=rs.getString("cli_datanasc");
            registro [4]=rs.getString("cli_cep");
            registro [5]=rs.getString("cli_rua");
            registro [6]=rs.getString("cli_bairro");
            registro [7]=rs.getString("cli_estado");
            registro [8]=rs.getString("cli_id");
            registro [9]=rs.getString("cli_rg");
            registro [10]=rs.getString("cli_telefone");
            registro [11]=rs.getString("cli_celular");
            registro [12]=rs.getString("cli_datacad");
            registro [13]=rs.getString("cli_numero");
            registro [14]=rs.getString("cli_uf");
            
           
            
       
        modelo.addRow(registro);
        
        }
        
        return modelo;
    } catch (Exception e) {
        JOptionPane.showConfirmDialog(null,e);
        return null;
    }

}

[CODE]

2 Respostas

Jonathan_Medeiros

Dados do tipo texto armazenados em banco não se compara com igual, se usa LIKE.

String sql = "Select * from tb_clientes2 where cli_cpf LIKE '%" + cpf + "%' or cli_nome LIKE '%"+ nome +"%' ";
felipe1234

Blz esse erro saiu agora é o outro.Quando chamo o metodo e colococo na table na passagem dos parametros que o usuario vai digitar ele aparece um erro java.lang.IllegalArgumentException: Identifier not found.

Em baixo meu codigo

[CODE]

DefaultTableModel modelo;

ClientesDAO cli= new ClientesDAO();
modelo=cli.mostrarConsulta(txtCPF.getText(),txtPesquisa.getText());

[CODE]

Criado 17 de fevereiro de 2017
Ultima resposta 17 de fev. de 2017
Respostas 2
Participantes 2