Estoy insertando algunos valores en una tabla SQL usando C # en MVC 4. En realidad, quiero insertar valores y devolver el 'ID' del último registro insertado. Utilizo el siguiente código.
public class MemberBasicData
{
public int Id { get; set; }
public string Mem_NA { get; set; }
public string Mem_Occ { get; set; }
}
El ID se incrementa automáticamente en la base de datos cuando se inserta.
public int CreateNewMember(string Mem_NA, string Mem_Occ )
{
using (SqlConnection con=new SqlConnection(Config.ConnectionString))
{
using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) VALUES(@na,@occ)",con))
{
cmd.Parameters.AddWithValue("@na", Mem_NA);
cmd.Parameters.AddWithValue("@occ", Mem_Occ);
con.Open();
int modified = cmd.ExecuteNonQuery();
if (con.State == System.Data.ConnectionState.Open) con.Close();
return modified;
}
}
}
Sé que ExecuteNonQuery
denota los números que afectan a la fila. En lugar de eso, uso
int modified = (int)cmd.ExecuteScalar();
Pero no funciona. Por favor ayúdame a resolver esto. Y hay algún código como cmd.ExecuteInsertAndGetID()
(que no funcione con mi código).
InsertedID
?