Xin chào, tôi đang chèn một số giá trị vào bảng sql bằng C# trong MVC4. Trên thực tế tôi muốn chèn các giá trị và trả về 'ID' của bản ghi được chèn lần cuối. Tôi sử dụng đoạn mã sau.Thực hiện lệnh Chèn và trả về Id được chèn trong Sql
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 trong cơ sở dữ liệu khi được chèn.
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 không hoạt động. Xin hãy giúp tôi giải quyết vấn đề này. Và có bất kỳ mã như cmd.ExecuteInsertAndGetID() (không làm việc với mã của tôi).
Ý của bạn là gì với 'InsertedID'? –
Bạn có thể xem http://stackoverflow.com/questions/9319532/return-value-from-sql-server-insert-command-using-c-sharp – Linky