Fråga : Datareader anmärker är redan det öppna meddelandet

Hälsningar pröva förmiddag för

I att få efter kodifiera för att fungera.  Ett av argumenten är en lista anmärker.  Pröva förmiddag I att kretsa till och med anmärker i lstTechCode och går en lista tillbaka anmärker.  Få ett felmeddelande när jag kör kodifiera mig, som en datareader anmärker är redan öppen.  
> för
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:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
" codeBody " " delade >Public för class= " för
" klar "

Svar : Datareader anmärker är redan det öppna meddelandet

försök det något liknande som detta… bör fungera, men inte försökt, därför att jag inte har storedproceduren Etc.
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:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
Delad allmänhet fungerar GetDatasetList (ByVal strMetricName som stränger, ByVal strInputCode som stränger, ByVal lstTechCode som listar (av TechnologySet), ByVal som är intSelectedYear som heltal) som listar (av DataSetClass)
        Den dunkla datasetlisten som ny listar (av DataSetClass)
        Dunkla CnSql som SqlConnection = BadsDB.GetConnection
        Dunkel cmdA som SqlCommand
        Dunkel avläsare som SqlDataReader = ingenting
        cmdA = ny SqlClient.SqlCommand (”up_GetGraphReportDataset”, CnSql)
        cmdA.CommandTimeout = 7200
        Försök
            För varje t som TechnologySet i lstTechCode
                Med cmdA
                    .CommandType = CommandType.StoredProcedure
                    . Parameters.AddWithValue (”@MetricName”, strMetricName.ToString)
                    . Parameters.AddWithValue (”@InputCode”, strInputCode.ToString)
                    . Parameters.AddWithValue (”@TechnologySetCode”, t.TechnologySetCode.ToString)
                    . Parameters.AddWithValue (”@BudgetYear”, intSelectedYear)
                Avsluta med
                Om CnSql.State = ConnectionState.Closed därefter
                    CnSql.Open ()
                Avsluta om
                avläsare = cmdA.ExecuteReader (CommandBehavior.CloseConnection)
                Dunkla DataVersionIdOrd som heltalet = reader.GetOrdinal (”DataVersionId”)
                Dunkel dsc som DataSetClass
                Gör stundavläsaren. Läs
                    dsc = nya DataSetClass
                    dsc.DataVersionId = reader.GetString (DataVersionIdOrd)
                    datasetlist. Tillfoga (dsc)
                Kretsa
            avläsare. Nära ()
            cmdA.Parameters.Clear ()
            Därefter


        Fånga excA som SqlException
            MsgBox (excA.Message, excA.GetType.ToString)
        Slutligen
            CnSql.Close ()
        Avsluta försök
        Gå datasetlisten tillbaka
    Avsluta fungerar
Andra lösningar  
 
programming4us programming4us