Es besteht das Risiko, dass wenn Sie die gleiche Verbindung für jede Methode verwenden, von einem privaten Feld oder Methode etc .; Sie könnten am Ende versuchen zu lesen/zu schreiben, wenn die Verbindung noch offen ist.
Dies könnte dann Fehler werfen und Sie könnten in einem ganzen Haufen davon landen, wenn Sie eine Live-SQL-Datenbank verwenden.
Wenn Sie können, erstellen Sie eine neue Instanz einer Verbindung in einer using
-Anweisung jedes Mal, wenn Sie auf die DB zugreifen möchten.
So:
var connectionString = "YourConnectionStringToTheDB";
var queryString ="YourSQLQueryHere"; // FROM * IN tbl SELECT * etc...
using (SqlConnection connection = new SqlConnection(
connectionString))
{
using (SqlCommand command = new SqlCommand(queryString, connection))
{
command.Connection.Open();
command.ExecuteNonQuery();
}
}
diese Weise ist es geschlossen ist und entsorgt, wenn der Code ausgeführt wird außerhalb des Anwendungsbereichs der using
Aussage.
Beachten Sie, dass der SqlCommand auch in einer using
Anweisung steht, da auch diese entsorgt werden kann.
Dies ist ein saubererer Code und markiert die Objekte, die vom Garbage Collector entsorgt werden. (Google ist dein Freund) - großes Thema; viele Dinge zu lesen.
Hier ist eine ähnliche Frage, die Sie etwas ausführlicher gibt: The C# using statement, SQL, and SqlConnection
EDIT
noch besser, Sie SQL-Code in einem try { }
catch { }
Block wickeln konnte Fehler zur Laufzeit zu handhaben.
"die Verbindung", wie in "nur 1"? Können Sie garantieren, dass Sie immer nur 1 Verbindung benutzen? Wenn das so ist, sollten Sie kein großes Problem haben. Wenn Sie auf der anderen Seite Verbindungen schaffen und sie nicht schließen/beseitigen, dann werden Sie unweigerlich in Schwierigkeiten geraten. –