Boa tarde pessoal, tudo bem ?
Estou com um problema na classe de consulta de um software que estou desenvolvendo. Ele acusa erro de sintaxe, segue abaixo o erro:
Driver OK!!!
Conexão OK!!!
Driver OK!!!
Conexão OK!!!
stmt
org.postgresql.util.PSQLException: ERRO: erro de sintaxe em ou próximo a “prod”
Posição: 90
erro busca produto DAO
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273)
at jdbc.mvc.dao.Produto_DAO.pesquisaCodBarras(Produto_DAO.java:78)
Ja executei o codigo direto no Postgres, que me retorno as informações que eu preciso sem nenhum erro. Ja olhei diversas vezes o codigo e naum acho o erro. Se voces puderem me ajudar, fico muito grato.
Ah… Segue abaixo o codigo da pesquisa:
//Método que busca o produto pelo código de barras
public List<Det_Orcamento> pesquisaCodBarras(String codProduto) throws Exception{
PreparedStatement stmt = null;
ResultSet rs = null;
List<Det_Orcamento> lista = new ArrayList<Det_Orcamento>();
int codBarras = Integer.parseInt(codProduto);
try {
String sql = "SELECT prod.cod_produto,prod.descricao,prod.marca, prod.preco,un.abreviacao"
+ "FROM produtos prod,"
+ "unidade un"
+ "WHERE prod.unidade_codigo_unidade = un.codigo_unidade"
+ "AND prod.cod_barras = '" + codBarras + "'";
co.conectar();
stmt = co.con.prepareStatement(sql);
System.out.println("stmt");
rs = stmt.executeQuery();
System.out.println("Resultado da pesquisa pelo codigo de barras"+rs);
while (rs.next()) {
Det_Orcamento detOrcamento = new Det_Orcamento();
detOrcamento.setCod_produto(rs.getInt(1));
String descricao = rs.getString(2);
String marca = rs.getString(3);
detOrcamento.setProduto( descricao +" - "+ marca);
detOrcamento.setValor_unit_orcamento(rs.getDouble(4));
detOrcamento.setUnidade(rs.getString(5));
lista.add(detOrcamento);
}
stmt.close();
rs.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "ERRO busca por produtos..." + ex.getMessage(), "Cadastro de Det Orçamento", 0);
ex.printStackTrace();
System.out.println("erro busca produto DAO");
}
return lista;
}//Fim do método que busca o produto pelo codigo de barras
Obrigado galera.
Abraço