Si je lie GridView à SqlDataSource et que vous définissez AutoGenerateEditButton sur true, si j'essaie ensuite de mettre à jour un champ (ce champ étant une clé primaire dans la base de données), la base de données doit renvoyer une erreur SqlException devrait donc être lancé ?!GridView ne signale pas d'exception
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.
Quand j'exécuté même déclaration de mise à jour avec le code suivant, je me suis Impossible de mettre à jour la colonne d'identité d'exception « EmployeeID », donc je suppose que Sql Server a 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();
BTW - J'ai essayé avec réglage DataKeyNames = "EmployeeI d », mais exception toujours pas soulevé
Thanx
EDIT:
Bonjour,
Désolé de ne pas répondre plus tôt, mais je ne l'ai pas remarqué que je reçu une réponse.
De toute façon, pour une raison quelconque, cela fonctionne maintenant, ce qui signifie que GridView signale une exception. J'ai donc dû faire une erreur dans mon code, mais en raison de la réécriture constante de mon code, je ne sais pas où cette erreur serait. Désolé pour perdre votre temps et je vous remercie de me aider
Je suis venu ici pour le dire .. + 1 – Meff
Mais pourquoi le code ci-dessus, qui exécutait la même instruction de mise à jour que GridView, signalait une exception SqlException, mais pas Gridview? – SourceC
Il semble que le contrôle GridView avale l'exception sauf si vous définissez la propriété-> EnableModelValidation = "true" –