Если я связываю GridView с SqlDataSource и также устанавливаю для AutoGenerateEditButton значение true, а если я затем пытаюсь обновить поле (это поле является первичным ключом в базе данных), то база данных должна вернуть ошибку, и, таким образом, должно быть выдано SqlException ?!
Так почему страница не сообщает об исключении? Вместо этого все, что делает Gridview, - это возвращает все поля в этой строке к исходным значениям.
1007 * спасибо *
EDIT:
Здравствуйте,
Когда я выполнил тот же оператор обновления со следующим кодом, я получил Невозможно обновить исключение столбца идентификатора «EmployeeID» , поэтому я предполагаю, что Sql Server сообщал о той же ошибке, когда GridView пытался обновить, но по какой-то причине исключение не был поднят:
SqlConnection sc = new SqlConnection();
sc.ConnectionString = @"Data source=localhost; integrated security=sspi; initial catalog=northwind;";
SqlCommand sComand = new SqlCommand();
sComand.Connection = sc;
sComand.CommandText = "update Employees set EmployeeId=100,FirstName='Suzy',"+
"LastName='Smile',City='Moon' where EmployeeId=1";
sc.Open();
int I = sComand.ExecuteNonQuery();
ВТОРОЕ РЕДАКТИРОВАНИЕ:
Правильно ли установлено свойство DataKeyNames?
Я пытался установить DataKeyNames = "EmployeeId", но исключение по-прежнему не возникало