Je me demandais s'il y aurait une approche confiante à utiliser dans la section catch du bloc try-catch lors du développement d'opérations CRUD (spécialement lorsque vous utilisez une base de données comme source de données) dans .Net?.Net: Quelle est votre approche confiante dans la section «Catch» du bloc try-catch, Lors du développement des opérations CRUD?
Eh bien, quelle est votre opinion sur les lignes ci-dessous?
public int Insert(string name, Int32 employeeID, string createDate)
{
SqlConnection connection = new SqlConnection();
connection.ConnectionString = this._ConnectionString;
try
{
SqlCommand command = connection.CreateCommand();
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "UnitInsert";
if (connection.State != ConnectionState.Open)
connection.Open();
SqlCommandBuilder.DeriveParameters(command);
command.Parameters["@Name"].Value = name;
command.Parameters["@EmployeeID"].Value = employeeID;
command.Parameters["@CreateDate"].Value = createDate;
int i = command.ExecuteNonQuery();
command.Dispose();
return i;
}
catch
{
**// how do you "catch" any possible error here?**
return 0;
//
}
finally
{
connection.Close();
connection.Dispose();
connection = null;
}
}
Totalement sur une tangente, mais vous devriez essayer d'utiliser les instructions 'using', plutôt que' try'/'finally' et d'appeler vous-même' Dispose'. http://msdn.microsoft.com/en-us/library/yh598w02(VS.80).aspx –
Pourquoi vérifiez-vous si l'état de la connexion est ouvert? Il ne sera pas ouvert, donc appelez 'Open' sans le précédent si. –
@Matthew: BTW, qu'est-ce que cela signifie: totalement sur une tangente? – odiseh