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

JDBC: Trabalhando com um banco de dados inserindo e removendo dados aula 02

Boa noite a todos estou com erro na linda 15: RETURN_GENERATED_KEYS) Statement não estou conseguindo rodar o meu projeto. Estou seguindo as videos aulas passo a passo. Desde já grato. package br.com.caelum.jdbc;

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

public class TesteInsercao {

public static void main(String[] args) throws SQLException{ Connection connection = Database.getConnection();

Statement statement = connection.createStatement(); boolean resultado = statement.execute("inset into Produto (nome, descricao) values('Notbook i7')" Statement.RETURN_GENERATED_KEYS); System.out.println(resultado);

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

statement.close(); connection.close(); }

}

``` Exception in thread "main" java.lang.Error: Unresolved compilation problems: Syntax error on token "Statement", delete this token RETURN_GENERATED_KEYS cannot be resolved or is not a field

at br.com.caelum.jdbc.TesteInsercao.main(TesteInsercao.java:15)

4 respostas

Boa noite Renato, nesse erro:

inset into Produto (nome, descricao) values('Notbook i7')

percebe que sua query precisa de dois parametros, um nome e um descrição e você só está passando o nome, por isso a query está quebrando

Guilherme, boa noite obrigado pela força. Agora o erro é: esse cara ai: Statement.RETURN_GENERATED_KEYS); que esta na linha 15.

package br.com.caelum.jdbc;

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

public class TesteInsercao {

    public static void main(String[] args) throws SQLException{
        Connection connection = Database.getConnection();    

        Statement statement = connection.createStatement();
        boolean resultado = statement.execute("inset into Produto (nome, descricao) values('Notbook i7','Usado')"
        Statement.RETURN_GENERATED_KEYS);
        System.out.println(resultado);

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

        statement.close();
        connection.close();
    }

}

package br.com.caelum.jdbc; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import java.sql.ResultSet;

public class TesteInsercao {

public static void main(String[] args) throws SQLException{ Connection connection = Database.getConnection();

Statement statement = connection.createStatement(); boolean resultado = statement.execute("inset into Produto (nome, descricao) values('Notbook i7','Usado')" Statement.RETURN_GENERATED_KEYS); System.out.println(resultado);

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

statement.close(); connection.close(); }

}

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
    Syntax error on token "Statement", delete this token
    RETURN_GENERATED_KEYS cannot be resolved or is not a field

    at br.com.caelum.jdbc.TesteInsercao.main(TesteInsercao.java:15)
solução!

tá faltando uma virgula entre sua query e o Statement.RETURN_GENERATED_KEYS

boolean resultado = 
                    statement.execute("inset into Produto (nome, descricao) values('Notbook i7','Usado')",
            Statement.RETURN_GENERATED_KEYS);

kkkk Brincadeira, estou na labuta desde as 17:horas Obrigado Guilherme.