Si Sql Server renvoie une erreur, alors SqlException doit être lancé. Mais ce n'est pas
Si je lie GridView à SqlDataSource et également mis AutoGenerateEditButton à true, et si je puis essayer de mettre à jour un champ (ce champ étant une clé primaire dans la base de données), puis la base de données doit retourner un erreur et donc SqlException devrait être levée ?! Alors, pourquoi la page ne signale-t-elle pas une exception? Au lieu de cela, tout Gridview remet tous les champs de cette ligne à leurs valeurs d'origine.
Thanx
EDIT:
Bonjour,
Quand j'exécuté même déclaration de mise à jour avec le code suivant, je suis arrivé Impossible de mettre à jour l'identité colu mn 'EmployeeID' exception, donc je suppose Sql Server fait rapport même erreur lorsque GridView a essayé de mettre à jour, mais pour une exception raison n'a pas été soulevée:
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();
DEUXIÈME EDIT:
Votre propriété DataKeyNames est-elle définie correctement?
J'ai essayé avec réglage DataKeyNames = « EmployeeId », mais exception toujours pas soulevé
Très bonne/utile question, +1 pour la question. –