Cuestión : El objeto de Datareader es ya mensaje abierto

Hola,

I que intenta conseguir el código siguiente para trabajar.  Una de las discusiones es un objeto de la lista.  Estoy intentando colocar a través de los objetos en lstTechCode y volver un objeto de la lista.  Cuando funciono con el código yo conseguir un mensaje de error que un objeto del datareader esté ya abierto.  
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
función compartida >Public notpretty GetDatasetList (strMetricName " del class= " del id= " codeSnippet853502 del
           
class= del

Respuesta : El objeto de Datareader es ya mensaje abierto

el intento que tiene gusto de esto… debe trabajar, pero no intentado porque no tengo el storedprocedure 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:
Función compartida público GetDatasetList (strMetricName de ByVal como strInputCode de la secuencia, de ByVal como lstTechCode como lista (de TechnologySet), ByVal de la secuencia, de ByVal intSelectedYear como número entero) como lista (de DataSetClass)
        Datasetlist dévil como nueva lista (de DataSetClass)
        CnSql dévil como SqlConnection = BadsDB.GetConnection
        cmdA dévil como SqlCommand
        Lector dévil como SqlDataReader = nada
        cmdA = nuevo SqlClient.SqlCommand (“up_GetGraphReportDataset”, CnSql)
        cmdA.CommandTimeout = 7200
        Intento
            Para cada t como TechnologySet en lstTechCode
                Con el cmdA
                    .CommandType = CommandType.StoredProcedure
                    . Parameters.AddWithValue (“@MetricName”, strMetricName.ToString)
                    . Parameters.AddWithValue (“@InputCode”, strInputCode.ToString)
                    . Parameters.AddWithValue (“@TechnologySetCode”, t.TechnologySetCode.ToString)
                    . Parameters.AddWithValue (“@BudgetYear”, intSelectedYear)
                Extremo con
                Si CnSql.State = ConnectionState.Closed después
                    CnSql.Open ()
                Terminar si
                lector = cmdA.ExecuteReader (CommandBehavior.CloseConnection)
                DataVersionIdOrd dévil como el número entero = reader.GetOrdinal (“DataVersionId”)
                Dsc dévil como DataSetClass
                Hacer mientras que lector. Leer
                    dsc = nuevo DataSetClass
                    dsc.DataVersionId = reader.GetString (DataVersionIdOrd)
                    datasetlist. Agregar (dsc)
                Lazo
            lector. Cerrarse ()
            cmdA.Parameters.Clear ()
            Después


        excA del retén como SqlException
            MsgBox (excA.Message, excA.GetType.ToString)
        Finalmente
            CnSql.Close ()
        Intento del final
        Datasetlist de vuelta
    Función del final
Otras soluciones  
 
programming4us programming4us