Répondre
new SqlConnection(connectionString)
crée une nouvelle instance SqlConnection
contre la chaîne de connexion fournie.
SqlConnection cn = ...
attribue à la nouvelle variable locale cn
(scope à la déclaration using
) qui contient l'objet de connexion construit.
using(...)
Est-ce une déclaration using
- il assure que la connexion est Dispose()
-d à la fin, même si une exception est levée (dans ce cas Dispose()
des moyens de le fermer/libérer à la piscine, etc.)
le code entier est essentiellement:
{ // this { } scope is to limit the "cn"
SqlConnection cn = new SqlConnection(connectionString);
try { // the body of the using block
...
} finally { // dispose if not null
if(cn != null) { cn.Dispose(); }
}
}
vérifie que les SqlConnection est détruite à la fin de la « utilisant » la portée
Il dispose le SqlConnection
après sa plus nécessaire. Dans ce cas, SqlConnection
peut laisser des ressources non gérées et vous devez les nettoyer. SqlConnection
implémente IDisposable
, ce qui signifie que vous pouvez (devriez) appeler Dispose
après avoir fini de travailler dessus.
Il est essentiellement un raccourci pour:
try {
SqlConnection cn = new SqlConnection(connectionString);
// whatever other code
}
finally {
if (cn != null)
{
cn.Dispose();
}
}
Lorsque vous utilisez using
, la portée de cn
est étendue également à l'extérieur try
(à finally
).
Si vous voulez en savoir plus, vérifiez MSDN's article à ce sujet.
L'instruction using peut être appliquée aux objets qui implémentent l'interface IDisposable
. A la fin de la portée d'utilisation, Dispose est appelée sur l'objet.
Cela permet de libérer la connexion lorsque le contrôle quitte l'utilisation de() {..} clause.
La sortie peut être le résultat d'une exception, d'un retour de fonction, d'une rupture de boucle, d'une sortie goto ou d'une sortie normale de la portée. Très pratique.
- 1. Que fait ce code?
- 2. Que fait ce code?
- 3. Que fait ce code Javascript?
- 4. Que fait ce code javascript?
- 5. Que fait ce code Perl?
- 6. Que fait ce code? (2)
- 7. jQuery: que fait ce code?
- 8. Que fait ce code xkcd?
- 9. Que fait ce code Perl?
- 10. Que fait ce morceau de code C++?
- 11. Que fait ce code suspect d'hameçonnage?
- 12. Que fait ce simple code php?
- 13. Que fait exactement ce code ML standard?
- 14. Que fait classmethod dans ce code?
- 15. S'il vous plaît expliquer ce que ce code jquery fait
- 16. Qu'est-ce que ce code Perl utilisant LWP :: UserAgent fait?
- 17. Que fait ce javascript?
- 18. que fait ce script?
- 19. ce que fait ce sql
- 20. Que fait ce CSS?
- 21. Que fait ce javascript
- 22. Est-ce que ce code d'enfilage fait ce que je pense qu'il est?
- 23. Que fait ce code dans le monde? (C#)
- 24. Que fait une 3D dans ce code HTML?
- 25. Pouvez-vous expliquer ce que fait cet extrait de code?
- 26. Que fait ce code Python: shell = (sys.platform! = "Win32"))
- 27. Que fait cet opérateur & = dans ce code ?? (C#)
- 28. Java exécutable jar. Que fait ce morceau de code?
- 29. que fait ce code de cheval de Troie?
- 30. PHP - Code de fait presque ce que je veux à
Strictement parlant, la portée de cn est * en dehors de la 'try' ... –
Merci, Marc. Edité pour le plus grand bien. –