4
respostas

select * from Produto Erro.

Boa noite a todos, estou com problema ao tentar esse select Desde já obrigado.

package br.com.caelum.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
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");
        System.out.println(resultado);

        connection.close();
    }

}

Erro: 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.jdbc.TestaListagem.main(TestaListagem.java:12) Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: PRODUTO at org.hsqldb.error.Error.error(Unknown Source) at org.hsqldb.error.Error.error(Unknown Source) at org.hsqldb.ParserDQL.readTableName(Unknown Source) at org.hsqldb.ParserDQL.readTableOrSubquery(Unknown Source) at org.hsqldb.ParserDQL.XreadTableReference(Unknown Source) at org.hsqldb.ParserDQL.XreadFromClause(Unknown Source) at org.hsqldb.ParserDQL.XreadTableExpression(Unknown Source) at org.hsqldb.ParserDQL.XreadQuerySpecification(Unknown Source) at org.hsqldb.ParserDQL.XreadSimpleTable(Unknown Source) at org.hsqldb.ParserDQL.XreadQueryPrimary(Unknown Source) at org.hsqldb.ParserDQL.XreadQueryTerm(Unknown Source) at org.hsqldb.ParserDQL.XreadQueryExpressionBody(Unknown Source) at org.hsqldb.ParserDQL.XreadQueryExpression(Unknown Source) at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source) at org.hsqldb.ParserCommand.compilePart(Unknown Source) at org.hsqldb.ParserCommand.compileStatements(Unknown Source) at org.hsqldb.Session.executeDirectStatement(Unknown Source) at org.hsqldb.Session.execute(Unknown Source) ... 3 more

4 respostas

Renato, verifica se a tabela "Produto" existe ou se a URL de conexão é válida.

Renato, veja se corrigindo a ordem resolve. Levando em consideração que existe a coluna nome e valor.

PreparedStatement stmt = connection.prepareStatement("select * from Produto");

// executa um select
ResultSet rs = stmt.executeQuery();

// percorre os resultados
while (rs.next()) {
    String nome = rs.getString("nome");
    String valor = rs.getDouble("valor");
    System.out.println(nome + " :: " + valor);
}

Renato

você ja fez esse select diretamente no HSQL manager??

Pessoal muito obrigado pela ajuda, não consegui trabalhar com hsqldb, instalei o mysql e deu tudo certo. Não tenho muita experiência na área, mas gostei do mysql bem mais robusto.