Если я связываю GridView с SqlDataSource, а также устанавливаю для AutoGenerateEditButton значение true, и если я затем пытаюсь обновить поле (это поле является первичным ключом в базе данных), то база данных должна вернуть ошибку, и, таким образом, следует выдать SqlException ?!
Так почему страница не сообщает об исключении? Вместо этого все, что делает Gridview, - это возвращает все поля в этой строке к их исходным значениям.
Когда я выполнил тот же оператор обновления со следующим кодом, я получил Невозможно обновить исключение столбца идентификатора «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 = "EmployeeId", но исключение все равно не было вызвано
спасибо
EDIT:
Здравствуйте,
Извините, что не отвечал раньше, но я не заметил, что получил ответ.
В любом случае, по какой-то причине он работает сейчас, что означает, что GridView действительно сообщает об исключении. Таким образом, я, должно быть, допустил некоторую ошибку в своем коде, но из-за постоянного переписывания моего кода я понятия не имею, где будет эта ошибка. Извините, что потратили ваше время, и спасибо, что помогли мне