L'instruction C # using, SQL et SqlConnection
Est-ce possible à l'aide d'un l'aide d'état C# SQL?
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
Ce que si il y a une erreur lors de l'ouverture de la connexion?
L'instruction à l'aide est d'essayer et enfin
Pas de prise
Donc, si je l'attrape en dehors de l'aide de crochets va les rattraper la connexion de l'ouverture d'erreur?
Si non, comment mettre en œuvre des ce avec l'aide de la using
l'état a indiqué ci-dessus?
source d'informationauteur user287745
Vous devez vous connecter pour publier un commentaire.
Il est possible de le faire en C# (je vois aussi que le code est exactement indiqués dans MSDN http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx). Toutefois, si vous avez besoin d'être sur la défensive et, par exemple, le journal le potentiel des exceptions qui permettrait d'aider à la résolution des problèmes dans un environnement de production, vous pouvez profiter de cette approche:
Si vous voulez attraper l'erreur, alors vous aurez besoin de tout envelopper dans
try
-catch
bloc.using
blocs simplement de veiller à ce que les non-géré les ressources sont éliminés, ils ne peuvent pas gérer les exceptions.Aussi,
SqlCommand
implémenteIDisposable
donc je te suggère de le mettre dans unusing
bloc.L'écrire explicitement:
Oui, vous pouvez mettre le
using
bloc dans untry
bloc, et le suivantcatch
va attraper les erreurs liées à latry
bloc.Ajouter un index unique à la base de données pour les champs et la capture de l'erreur.
Ne pas retrouver la Connexion SQL pour chaque ligne. L'ouverture et la fermeture d'une connexion est consommatrice de ressources. Essayez quelque chose comme ceci: