[RESOLVIDO] Problema no retorno do JDBC

Boa noite pessoal!

Montei um select com join para acessar 3 tabelas relacionadas para usar no JDBC, o select funciona corretamente no Workbench do MySQL. Mas quando uso ele no Código Java ele me dá um retorno de erro 1064 (Erro na sintaxe do código SQL), alguém poderia me ajudar? Código que retorna o erro abaixo:

public List listarProdutoCategoria(String nmCategoria) throws SQLException {
String sql = "SELECT Modelo.idModelo, Produto.nmProduto, Produto.dsDescricao, Produto.dtCadastro, Produto.idCategoria, "
+ “Categoria.nmCategoria, Modelo.nmModelo, Modelo.cdPreco, Modelo.pontuacao”+
“FROM Produto join Categoria join Modelo WHERE Categoria.nmCategoria = ?” +
“and Produto.idCategoria = Categoria.idCategoria”;
PreparedStatement stmt = conn.prepareStatement(sql);

	Produto p;
	try{
		stmt.setString(1, nmCategoria);
		ResultSet rs = stmt.executeQuery();
		
		while(rs.next()){
			p = new Produto();
			p.setNmProduto(rs.getString("nmProduto"));
			p.setComent(rs.getString("dsDescricao"));
			p.setDtCadastro(rs.getDate("dtCadastro"));
			//adicionar nmCategoria ao produto, ou usar grande if com todas as opções de retorno por id
			//p.setNmCategoria(rs.getInt("nmCategoria"));
			p.setIdCategoria(rs.getInt("idCategoria"));
			p.setModelo(rs.getString("nmModelo"));
			p.setPreco(rs.getBigDecimal("cdPreco"));
			p.setPontuacao(rs.getInt("pontuacao"));
			produtoCategoria.add(p);
		}
		rs.close();
		stmt.close();
		conn.close();
	}catch(SQLException ex){
		System.out.println(ex.getMessage());
		//throw new RuntimeException(ex);
	}
	
	return produtoCategoria;
}

Boa noite
A sua String sql está escrita de forma incorreta.

SELECT pet.name FROM pet INNER JOIN event ON pet.name = event.name WHERE event.type = ‘litter’;

2 curtidas

Valeu Trapezus!! Ajudou bastante!!
Tinha um outro errinho ali também que foi de falta de espaços na concatenação que eu não havia notado :P, nem sei se ele rodaria esse código antigo se eu tivesse adicionado espaço :smiley: