Muitas vezes precisamos não só fazer um INSERT de um registro no banco, como também recuperarmos o ID gerado para o utilizarmos em outras situações. 

 Lembrando que, para que o SQL Server nos gere um ID após realizarmos o INSERT, nossa coluna deve ser do tipo Identity e ser chave primária (Primary Key).

 Se focando no método em si e na instrução SQL, a Listagem 01 nos exibe o INSERT, com o uso do SELECT SCOPE_IDENTITY(), para retornar para nós o ID gerado.

Listagem 01 – Instrução SQL


string strInstrucaoSql = "INSERT INTO Clientes VALUES (@Nome, @Endereco, 
@Telefone, @Sexo, @Ativo, @DataCadastro) SELECT SCOPE_IDENTITY()";

 Na Listagem 02 é criado uma variável do tipo Int32 que recebe o método ExecuteScalar convertido para o tipo da variável, da classe SqlCommand, necessária para nos retornar o ID que é gerado após a execução da instrução SQL da Listagem 01.

Listagem 02 – Variável que receberá o ID gerado pelo ExecuteScalar


Int32 idRetorno = Convert.ToInt32(objCommand.ExecuteScalar());


 A Figura 01 representa o ID gerado para nossa variável. Assim poderemos utilizá-lo para outras operações relacionadas ao banco.


Figura 01 – ID gerado após a execução do INSERT

 Assim finalizo a dica rápida. Muito obrigado a todos!

 Um abraço, e até o próximo artigo.

 Wellington Balbo de Camargo

 wellingtonbalbo@gmail.com