Buscas informações em duas tabelas no banco Firebird

3 respostas Resolvido
firebasejava
S

Boa tarde, preciso de uma orientação,
Tenho um banco de dados firebird com duas tabelas produto, produto2 preciso relacionar as duas para mostrar as informações em um JTxtArea.

Fiz um metodo listarProdutos e um sql relacionando as duas tabelas, mas gera um erro ao executar, mas se executo o sql na base este funciona normalmente.
Segue o metodo.
`

public List listaProdutos() throws ClassNotFoundException, SQLException{

Connection con = ConectaBD.getConnection();
    PreparedStatement stmt = null;
    ResultSet rs = null;
    String sql = "SELECT p.pr_codigo, p2.pr_prcodigo, p2.pr_origem, p.pr_variavel1, p.pr_descricao FROM"
               + "produto p INNER JOIN produto2 p2 ON p.pr_codigo = p2.pr_prcodigo";
    //String sql = "Select pr_codigo, pr_descricao, pr_variavel1 from produto";
    //String sql = "SELECT pr_prcodigo, pr_origem from produto2";
    List<Firebird> firebird = new ArrayList<>();
    
    try {
        stmt = con.prepareStatement(sql);
        rs = stmt.executeQuery();
        
        while(rs.next()){
            Firebird fire = new Firebird();
            fire.setPrcod(rs.getInt("pr_codigo"));
            fire.setPr2cod(rs.getInt("pr_prcodigo"));
            fire.setPr2ori(rs.getString("pr_origem"));
            fire.setPrvar(rs.getString("pr_variavel1"));
            fire.setPrdes(rs.getString("pr_descricao"));

            firebird.add(fire);
        }
    } catch (SQLException ex) {
        System.out.println("Erro de Conexão no banco  " + ex);;
    }finally{
        ConectaBD.closeConnection(con, stmt, rs);
    }
    return firebird;
    
}`

Aqui esta a exceção apresentada:
java.sql.SQLSyntaxErrorException: Dynamic SQL Error; SQL error code = -104; Token unknown - line 1, column 10; FROMproduto [SQLState:42000, ISC error code:335544634]

3 Respostas

pmlm
Solucao aceita

Está aqui explicitamente qual é o teu problema…

S

Obrigado eu passei um tempão, para descobrir que a concatenação estava dando este erro por conta do espaço. Obrigado pela atenção.

pmlm

Temos de bater com a cabeça para aprender :slight_smile:

Criado 22 de fevereiro de 2018
Ultima resposta 23 de fev. de 2018
Respostas 3
Participantes 2