Wenn Sie SqlDataReader verwenden, um die Datenbank während des Codierens zu betreiben, rufen Sie die Methode manuell auf oder schreiben Sie Code, um die Datenbankverbindung jedes Mal zu schließen, nachdem Sie Ihre Datenbankmethode aufgerufen haben? (Haha, ich habe das immer zum Spaß gemacht)
Die folgende Methode kann dieses Problem lösen. Der Parameter CommandBehavior.CloseConnection von cmd.ExecuteReader hilft Ihnen automatisch, den zugehörigen
öffentlichen statischen SqlDataReader ExecuteReader zu schließen (String ConnectionString, CommandType cmdType, String cmdText, Params SqlParameter[] CommandParameters).
{
cmd
= new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
// Durch Hinzufügen des Parameters CommandBehavior.CloseConnection zu cmd.ExecuteReader wird die damit verbundene Verbindung automatisch geschlossen, nachdem cmd.ExecuteReader ausgeführt wurde.
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return
rdr
;
{
conn.Close()
;
throw
;