por Cesar Cassiano Schimanco

Pegar ID (Primary Key) do último registro inserido no banco de dados de uma forma simples, usando SCOPE_IDENTITY() e SqlCommand em ASP.NET / C#

Muitas vezes depois de fazer um UPDATE precisamos pegar o ID do item inserido.
Para quem usava SELECT @@IDENTITY no ASP Clássico , segue um exemplo com SCOPE_IDENTITY() em .NET.

SCOPE_IDENTITY e @@IDENTITY retornam o último valor de identidade gerado em qualquer tabela da sessão atual.

using (SqlConnection Conn = new SqlConnection(sConnectionString))
{
	string sSQL = @"INSERT INTO usuarios
					(nome, email) VALUES (@nome, @email)
					SET @id = SCOPE_IDENTITY()";

	SqlCommand cmd = new SqlCommand(sSQL, Conn);
	cmd.Parameters.AddWithValue("@nome", "Cesar Cassiano");
	cmd.Parameters.AddWithValue("@email", "contato@cbsa.com.br");
	cmd.Parameters.AddWithValue("@id", 0).Direction = ParameterDirection.Output;

	Conn.Open();
	cmd.ExecuteNonQuery();
	int id = Convert.ToInt32(cmd.Parameters["@id"].Value);           
	Conn.Close();
}

 

Comentários

Carregando comentários

Postar um novo comentário



Processando...