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

Erro no getConnection

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The method getConnection() is undefined for the type Database

    at br.com.jdbc.DataBase.main(DataBase.java:14)

Não estou conseguindo seguir com curso por causa deste erro, deixei classe idêntica ao exemplo da aula.

4 respostas

Você pode colocar como está a sua classe aqui?

package br.com.jdbc;

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

import org.hsqldb.Database;

public class TestaInsercao {
       public static void main(String[] args) throws SQLException {
            String nome = "Notebook";
            String descricao = "Notebook i5";

            Connection connection = Database.getConnection();

            String sql = "insert into Produto (nome, descricao) values ('" + nome + "', '" + descricao + "')";
            Statement stmt = connection.createStatement();
                    boolean resultado = stmt.execute(sql,
                    Statement.RETURN_GENERATED_KEYS);
            System.out.println(resultado);

            ResultSet resultSet = stmt.getGeneratedKeys();
            while (resultSet.next()) {
                String id = resultSet.getString("id");
                System.out.println(id + " gerado");
            }
            resultSet.close();

            stmt.close();
            connection.close();

        }
}

Onde você ta passando a url de conexao com usuario e senha? Está dentro do getConnection?

solução!

Entendi o problema, minha classe DataBase nao esta funcionando, ficou desta forma após correção.

package br.com.loja;

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

public class TestaInsercao {
    public static void main(String[] args) throws SQLException {
        Connection conennction = DataBase.getConnection();
        Statement statement = conennction.createStatement();
        boolean resultado = statement.execute("insert into Produto (nome,descricao) values ('Notebook','Notebook Asus')");
        System.out.println("Resultado foi " + resultado);

        statement.close();
        conennction.close();
    }
}
package br.com.loja;

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

public class DataBase {
    static Connection getConnection() throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/loja-virtual", "SA", "");
        return connection;
    }
}

Valeu!