Pourquoi ce code lance-t-il une exception d'opération non valide?InvalidOperationException La connexion n'a pas été fermée. L'état actuel de la connexion est ouvert.
private SqlCommand cmd; // initialized in the class constructor
public void End(string spSendEventNotificationEmail) {
try {
cmd.CommandText = spSendEventNotificationEmail;
cmd.Parameters.Clear();
cmd.Parameters.Add("@packetID", SqlDbType.Int).Value = _packetID;
cmd.Parameters.Add("@statusID", SqlDbType.Int).Value = _statusID;
cmd.Parameters.Add("@website", SqlDbType.NVarChar, 100).Value = Tools.NextStep;
cmd.Connection.Open();
cmd.ExecuteNonQuery();
} finally {
cmd.Connection.Close();
cmd.Parameters.Clear();
cmd.Dispose();
}
endCall = true;
}
Peut-être que vous avez ouvert votre connexion avant? – Zbigniew
Je pense que la racine du problème est dans l'instance de SqlCommand initialisée au constructeur de la classe. Ayant cette var autour de tout votre code pourrait être facilement utilisé à mauvais escient et conduisant à des bogues méchants dans d'autres parties de votre code – Steve
http://stackoverflow.com/a/9707060/4068 –