Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

JDBC e banco de dados em Java -- Trabalhando com um banco de dados -- Exercicio 2

Ao tentar rodar meu código:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestaListagem {

    public static void main(String[] args) throws SQLException {

        Connection connection = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/loja-virtual", "SA", "");
        Statement statement = connection.createStatement();

        boolean resultado = statement.execute("select * from Produto");
        ResultSet resultSet = statement.getResultSet();

        while (resultSet.next()){

            int id = resultSet.getInt("id");
            String nome = resultSet.getString("nome");
            String descricao = resultSet.getString("descricao");

            System.out.println(id);
            System.out.println(nome);
            System.out.println(descricao);

        }

        resultSet.close();
        statement.close();

        connection.close();

    }

}

Aparece: Exception in thread "main" java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: PRODUTO at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source) at org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source) at br.com.caelum.lojavirtual.TestaListagem.main(TestaListagem.java:16)

Já tentei criar um admin, tentei colocar um password no usuário SA, e tentei acessar o SA sem password como está no código. Como fazer para resolver o problema??

3 respostas

Pelo erro parece que não existe a tabela produto no seu banco, quando deletei a tabela produto apresentou o mesmo erro que o seu!

A tabela existe no banco, quando eu faço o comando select * from produto no hsqldb aparece as informações.

solução!

Eu não tinha colocado o nome do banco de dados no database manager, na tela que ele pede usuario e senha.