Vraag : nauwe datareadersamenhang

Ik gebruik sommige gegevenslezers op mijn website en met een bepaalde bedoeling wanneer ik het programma open zijn er 2 sql draden die open blijven en ik wegens deze gegevenslezers zijn denk die ik heb.  kan iemand vertellen me of net behandel ik deze?

openbare statische SqlDataReader GetUserInformation (koordgebruikersbenaming)
{
SqlConnection bedriegt = nieuwe SqlConnection (GetConnectionString ());
SqlCommand cmd = nieuwe SqlCommand („SP“, bedriegt);

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

bedriegt. Open ();

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

terugkeerDr.;


}



openbare statische nietige LoadUserInformation (string gebruikersbenaming)
{
SqlDataReader Dr. = GetUserInformation (userName);

als (Dr. Lees ())
{/> User-id
“] .ToString ());
FacilityID = Convert.ToInt32 (Dr. [„FacilityID“] .ToString ());
Admin = Convert.ToBoolean (Dr. [„Admin“] .ToString ());
E-mail = Dr. [„E-mail“] .ToString ();

}/> Dr.


}

Antwoord : nauwe datareadersamenhang

U kunt niet de verbinding vanuit het datareaderperspectief sluiten. De verbinding moet in het zelfde plaatswerkingsgebied sluiten waar het werd geopend.
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:
    openbare statische nietige LoadUserInformation (koordgebruikersbenaming)
    {
        SqlConnection bedriegt = nieuwe SqlConnection (GetConnectionString ());
        SqlCommand cmd = nieuwe SqlCommand („SP“, bedriegt);

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

        bedrieg. Open ();

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

        als (Dr. Lees ())
        {
            User-id = Convert.ToInt32 (Dr. [„User-id“] .ToString ());
            FacilityID = Convert.ToInt32 (Dr. [„FacilityID“] .ToString ());
            Admin = Convert.ToBoolean (Dr. [„Admin“] .ToString ());
            E-mail = Dr. [„E-mail“] .ToString ();
        
        }

        Dr. Sluit ();

        bedrieg. Sluit ();
    }
Andere oplossingen  
 
programming4us programming4us