Algo muy comun es querer saber el id del ultimo registro insertado, aca posteo un ejemplo de como hacer eso para una base de datos SQL Server en c#:
SqlConnection conn= new SqlConnection( ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString ); string insertStr = "INSERT INTO [tabla]([texto],[fecha]) VALUES(@texto,getDate()) ;SELECT Scope_Identity();"; SqlCommand cmd=new SqlCommand(insertStr,conn); cmd.Parameters.Add("@texto", SqlDbType.NVarChar).Value="El texto va aca"; cmd.Connection.Open(); string ret=cmd.ExecuteScalar().ToString(); cmd.Connection.Close(); |
La parte clave esta en la sentencia Select Scope_Identity() del sql.
Excelente, Gracias
No entiendo muy bien esta linea
cmd.Parameters.Add(«@texto», SqlDbType.NVarChar).Value=»El texto va aca»;
Estaba probnado algo asi pero no funciona
sql = «insert into …»;SELECT SCOPE_IDENTITY()»;
SqlCommand command = new SqlCommand(sql, conexion);
SqlDataReader dr = command.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
lblMensaje.Text = «Operación finalizada correctamente. » + dr.GetInt32(0).ToString();
En la ultima linea intento recuperar el valor devuelto (identity)