Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

resultSet - não encontra coluna

package br.com.alura.teste;

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

import br.com.alura.bancoDados.BancoDados;

public class TesteInsercao {

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


        Connection connection = BancoDados.getConection();

        Statement std = connection.createStatement();

        boolean resultado = std.execute("INSERT INTO produto (nome,descricao) VALUES ('Notebook','Notebook Lenovo 8 GB RAM')",

                Statement.RETURN_GENERATED_KEYS);

    ResultSet resultSet = std.getGeneratedKeys();

        while(resultSet.next()) {

            String id = resultSet.getString("id");

        }

        std.close();
        connection.close();



    }

}

Galera boa noite, no meu console apresenta o seguinte erro Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: O nome de coluna id não é válido. at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191) at com.microsoft.sqlserver.jdbc.SQLServerResultSet.findColumn(SQLServerResultSet.java:671) at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString(SQLServerResultSet.java:2441) at br.com.alura.teste.TesteInsercao.main(TesteInsercao.java:28)

Para tentar compreender um pouco instalei na minha máquina o SQL Server 2014. Tenho a tabela produto com id, nome, descrição, porém o console me apresenta a mensagem de que não existe.

1 resposta
solução!

Aluleiros, consegui encontrar a resposta em outro post, aqui mesmo. https://cursos.alura.com.br/forum/topico-metodo-getstring-string-do-resultset-nao-funciona-16364

ResultSet resultSet = std.getGeneratedKeys(); // Aqui ele me retorna o valor da coluna ou seja a posição.

basta eu mudar o String id = resultSet.getString("id"); para

String id = resultSet.getString(1);