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