13
respostas

Erro :(

Galera estou com o seguinte erro, estou tentando trazer o que eu modifiquei, mais estou recebendo o seguinte erro Exception in thread "main" java.sql.SQLException: Column 'id' not found. Meu código segue abaixo.

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

public class TestaInsercao {
    public static void main(String[] args) throws SQLException {
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/loja_virtual","root","admin");
        Statement statament = connection.createStatement();
        boolean resultado = statament.execute("insert into produto(nome,descricao) values ('saoehaosiuea','auheiausea')"
                ,Statement.RETURN_GENERATED_KEYS);
        System.out.println(resultado);
        ResultSet resultSet = statament.getGeneratedKeys();
        while(resultSet.next()) {
            String id = resultSet.getString("id");
            System.out.println(id + "gerado");
        }
        resultSet.close();
        statament.close();
        connection.close();
    }
}

Pelo oque percebi não esta trazendo a minha coluna de id, alias fala que não existe, mais eu criei, e até mesmo coloquei ali no lugar do id, coloquei por nome pra ver se era o id, e mesmo assim fala que também não existe a coluna nome :( devo tar errando em algo e não devo tar prestando atenção

13 respostas

O código está correto. A coluna é mesmo id? Mostra pra gente a estrutura da tabela.

Tenta tambem fazer por indice em vez de nome:

String id = resultSet.getString(1);

Paulo muito obrigado, deu certo a sua solução! É correto usar assim? Muito obrigado mesmo!!

É correto, mas acho mais bonito pelo nome da coluna. Deve ter algo errado no nome, como maiusculas/minusculas ou um as na sql

vou colar aqui o meu código aqui do desc produto do banco de dados.

id int(11) NO PRI auto_increment

nome varchar(45) YES

descricao varchar(45) YES

está certo mesmo. da para voce debugar e tentar ver com que nome a coluna da key está voltando. mas acho que pode ficar trnquilo com o getString(1)

Paulo obrigado pela atenção, passei dias tentando resolver isso mais nunca achava a solução, e não tinha visto que você tinha respondido :( eu vou deixar assim mesmo, apesar se rodou perfeitamente não tem o porque não usar assim, pelo menos nesse caso. vlw!

Eu so fiquei confuso com essa parte do código kkk. Se eu to falando que minha variavel e do tipo String, não deveria ser assim?

    String id = rs.getString("1");

O método chama "quero uma String". Então o retorno dela é certamente uma String, mas o que ele recebe como argumento nao precisava necessariamente ser. Poderia ser, por exemplo, a data que voce quer buscar uma determinada string

Paulo está on ai? Preciso de uma ajuda :(

Oi Alisson, estou sism. mas se for uma dúvida não relacionada a esta aqui, abra em um novo tópico para que todo mundo poder participar pois jájá estou de saída.

Opa Graças a Deus você esta aqui kkkk. ok vou abrir um outro tópico, alias já esta aberto :(, e não estou conseguindo resolver o meu problema, lembra do erro do id? que você me salvo? parece que com o hibernate está dando o mesmo erro, quando der você da uma olhada no meu tópico? talvez vc consiga resolver, muito obrigado desde já, e ele ja está aberto.

Paulo obrigado pela atenção, mais ja consegui resolver o problema, eu fiz tudo de novo e agora rodo normalmente. obrigado

Estava com o mesmo problema mas o Paulo nos ajudou dizendo para alterar de "id" para "1".

Valeu Paulo.