Witam Wstawiam niektóre wartości do tabeli sql przy użyciu C# w MVC4. Właściwie chcę wstawić wartości i zwrócić "ID" ostatnio wstawionego rekordu. Używam następującego kodu.Wykonaj polecenie Wstaw i zwróć wstawiony identyfikator w Sql
public class MemberBasicData
{
public int Id { get; set; }
public string Mem_NA { get; set; }
public string Mem_Occ { get; set; }
}
ID automatycznie inkrementacji danych po włożeniu.
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;
}
}
}
Wiem, że ExecuteNonQuery
oznacza liczby wpływające na wiersz. Zamiast tego używam
int modified = (int)cmd.ExecuteScalar();
Ale nie działa. Pomóż mi rozwiązać ten problem. I jest tam jakikolwiek kod jak cmd.ExecuteInsertAndGetID() (nie działa z moim kodem).
Co masz na myśli z 'InsertedID'? –
Możesz rzucić okiem na http://stackoverflow.com/questions/9319532/return-value-from-sql-server-insert-command-using-c-sharp – Linky