Witam, mam problem z edycja danych w bazie studentow. Moze mi ktoś podpowiedzieć czemu nowe dane nie zapisuja sie w bazie? Po ustawieniu breakpointu widze ze dane wprowadzone są juz przypisane ale po operacji edycji wchodze w liste studentow i dane nadal sa niezmienione
0
0
Sprawdź, czy zapytanie UPDATE faktycznie jest prawidłowe. I wklej kod normalnie, a nie obrazkiem.
0
[HttpPost]
public ActionResult Index2 (Students stud)
{
SqlConnection connection = new SqlConnection("Data Source = (localdb)\\MSSQLLocalDB; Initial Catalog = Bazastud; Integrated Security = True; MultipleActiveResultSets = True; Application Name = EntityFramework");
//connection.Open();
SqlCommand com = new SqlCommand("update Students set [Name] = @Name, [Surname] = @Surname, [Address] = @Address, [Field of Study] = @Field, [Year of Study] = @Year, [Date of birth] = @Date where Id = @Id", connection);
com.Parameters.AddWithValue("@Name", stud.Name);
com.Parameters.AddWithValue("@Id", stud.Id);
com.Parameters.AddWithValue("@Surname", stud.Surname);
com.Parameters.AddWithValue("@Address", stud.Address);
com.Parameters.AddWithValue("@Field", stud.Field_of_Study);
com.Parameters.AddWithValue("@Year", stud.Year_of_Study);
com.Parameters.AddWithValue("@Date", stud.Date_of_birth);
connection.Open();
com.ExecuteNonQuery();
//connection.Close();
return View();
Dodam ze to asp.net.mvc
0
Pomoże ktośśśś???
0
A w dobrej bazie robisz update?
0
Jakiego typu jest Id? Jeśli Guid lub coś podobnego to spróbuj wywołać metodę ToString(), ewentualnie cokolwiek odpowiadającego za wyświetlenie wartości identyfikatora. W zasadzie to dla pewności wywołaj ToString() nawet jeśli Id jest typu INT. Jeśli to nie pomoże spróbuj podać wszystkie parametry w takiej kolejności w jakiej występują w zapytaniu SQL.
Miałem kiedyś podobny problem w zapytaniu do SQLite, okazało się że z jakiegoś powodu Id typu Guid bez wywołania ToString() nie przekazywało jako parametr właściwej wartości ID a nazwę obiektu.