Question Remplace: Update multiple rows into SQL tablemultiples DB:
Voici un extrait de code pour mettre à jour un résultat d'examen fixés. La structure de DB est comme donnée, mais je peux soumettre des procédures stockées pour l'inclusion (qui sont une douleur à modifier, donc je la sauvegarde jusqu'à la fin.)
La question: Y a-t-il un meilleur moyen d'utiliser SQL Server v 2005. , net 2.0?
string update = @"UPDATE dbo.STUDENTAnswers
SET [email protected]
WHERE StudentID [email protected] and QuestionNum [email protected]";
SqlCommand updateCommand = new SqlCommand(update, conn);
conn.Open();
string uid = Session["uid"].ToString();
for (int i= tempStart; i <= tempEnd; i++)
{
updateCommand.Parameters.Clear();
updateCommand.Parameters.AddWithValue("@ID",uid);
updateCommand.Parameters.AddWithValue("@qnum",i);
updateCommand.Parameters.AddWithValue("@answer", Request.Form[i.ToString()]);
try
{
updateCommand.ExecuteNonQuery();
}
catch { }
}
Je pense que la gestion des exceptions dans la boucle ou non devrait dépendre des règles métier. Traiter des exceptions en dehors de la boucle signifie que vous arrêtez le traitement de l'élément avec l'erreur ou annulez la transaction, mais il peut arriver que vous souhaitiez ignorer la ligne d'erreur et poursuivre le traitement. – palmsey
- Le code de journalisation a été supprimé. –
Si vous souhaitez ignorer une ligne d'erreur et continuer le traitement d'autres lignes, vous souhaiterez probablement récupérer SqlException et inspecter la propriété SqlErrors pour rechercher des erreurs spécifiques. – Joe