Tôi đang chèn một số giá trị vào bảng SQL bằng C # trong MVC 4. Trên thực tế, tôi muốn chèn giá trị và trả về 'ID' của bản ghi được chèn lần cuối. Tôi sử dụng mã sau đây.
public class MemberBasicData
{
public int Id { get; set; }
public string Mem_NA { get; set; }
public string Mem_Occ { get; set; }
}
ID được tự động tăng lên trong cơ sở dữ liệu khi được chèn vào.
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;
}
}
}
Tôi biết ExecuteNonQuery
biểu thị các số ảnh hưởng đến hàng. Thay vào đó tôi sử dụng
int modified = (int)cmd.ExecuteScalar();
Nhưng nó không hoạt động. Xin hãy giúp tôi giải quyết vấn đề này. Và có mã nào như cmd.ExecuteInsertAndGetID()
(không hoạt động với mã của tôi).
InsertedID
gì?