Frage : naher datareader Anschluss

Ich verwende Leser etwas Daten auf meiner Web site und aus irgendeinem Grund, wenn ich anmelde, gibt es 2 sql-Gewinde, die geöffnet bleiben und ich denke sein wegen dieser Datenleser, die ich habe.  kann jemand mir erklären, wenn ich die diese Behandlung Recht bin?

allgemeines statisches SqlDataReader GetUserInformation (Schnurusername)
{
SqlConnection Betrug = neues SqlConnection (GetConnectionString ());
SqlCommand cmd = neues SqlCommand („SP“, Betrug);

cmd.CommandType = CommandType.StoredProcedure;
cmd. Parameters.AddWithValue („@UserName“, username);

Betrug. Öffnen ();

SqlDataReader Dr. = cmd.ExecuteReader (CommandBehavior. CloseConnection);

Rückholdr.;


}



allgemeines statisches leeres LoadUserInformation (string username)
{
SqlDataReader Dr. = GetUserInformation (userName);

wenn (Dr. Gelesen ())
{
UserID = Convert.ToInt32 (Dr. [„UserID“] .ToString ());
FacilityID = Convert.ToInt32 (Dr. [„FacilityID“] .ToString ());
Admin = Convert.ToBoolean (Dr. [„Admin“] .ToString ());
eMail = Dr. [„eMail“] .ToString ();

}

Dr. Abschluss ();


}

Antwort : naher datareader Anschluss

Sie können den Anschluss von der datareader Perspektive nicht schließen. Der Anschluss muss im Ortbereich schließen, in dem er geöffnet.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
    allgemeines statisches leeres LoadUserInformation (Schnurusername)
    {
        SqlConnection Betrug = neues SqlConnection (GetConnectionString ());
        SqlCommand cmd = neues SqlCommand („SP“, Betrug);

        cmd.CommandType = CommandType.StoredProcedure;
        cmd. Parameters.AddWithValue („@UserName“, username);

        Betrug. Öffnen ();

        SqlDataReader Dr. = cmd.ExecuteReader (CommandBehavior.CloseConnection);

        wenn (Dr. Gelesen ())
        {
            UserID = Convert.ToInt32 (Dr. [„UserID“] .ToString ());
            FacilityID = Convert.ToInt32 (Dr. [„FacilityID“] .ToString ());
            Admin = Convert.ToBoolean (Dr. [„Admin“] .ToString ());
            EMail = Dr. [„eMail“] .ToString ();
        
        }

        Dr. Abschluss ();

        Betrug. Abschluss ();
    }
Weitere Lösungen  
 
programming4us programming4us