Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/11/2009, 20:41
Avatar de gakutaru
gakutaru
 
Fecha de Ingreso: agosto-2005
Ubicación: frente a mi NtbK
Mensajes: 239
Antigüedad: 19 años, 5 meses
Puntos: 6
Pregunta el while se me ejecuta 1 sola ves dentro de un for

Hola, tengo el siguiente prblema.
tengo un while dentro de un for y el while se ejecuta solo una ves D:
y no se porque.


Código:
 Sub RecuperarChecks(ByVal strNameSesion As String)
        'aqui recuperare los checks
        Dim strConReqkuperarCks As String
        Dim conRekuperarChecks As SqlConnection
        Dim strSelectCheks As String
        Dim comSelectCheks As SqlCommand
        Dim dtrCheks As SqlDataReader
        '        Dim strCheks As String
        Dim itmZona As ListItem
        
        
        If IsPostBack Then
            'variables de conexion
            Dim strConAdLicencia As String
            Dim conAdLicencia As SqlConnection
            Dim cmdSelect As SqlCommand
            Dim dtrTitles As SqlDataReader
            
            'conexion con la bd de zonas
            strConAdLicencia = System.Configuration.ConfigurationManager.AppSettings("conLicencia") 'para conectar co la bd
            conAdLicencia = New SqlConnection(strConAdLicencia) 'ago coneccion con la bd
            cmdSelect = New SqlCommand("Select * From Zona", conAdLicencia)
            
            'conxion con la bd de permisos
            strConReqkuperarCks = System.Configuration.ConfigurationManager.AppSettings("conSesion") 'para conectar co la bd
            conRekuperarChecks = New SqlConnection(strConReqkuperarCks) 'ago coneccion con la bd
            strSelectCheks = "Select idArray From Permisos Where idSesion = @usuario"
            comSelectCheks = New SqlCommand(strSelectCheks, conRekuperarChecks)
            comSelectCheks.Parameters.AddWithValue("@usuario", Session("strUsuario"))
            
            'conxiones abiertas
            conAdLicencia.Open()
            conRekuperarChecks.Open()
            dtrTitles = cmdSelect.ExecuteReader()
            chkListaZona.DataSource = dtrTitles
                   
            chkListaZona.DataTextField = "Zona" 'asigna el texto de la bd
            chkListaZona.DataValueField = "idZona" 'aigna el value de la bd
            chkListaZona.DataBind() 'muestra los chek box
            dtrCheks = comSelectCheks.ExecuteReader()

            For Each itmZona In chkListaZona.Items
                Response.Write(" <li> ")
                Response.Write(itmZona.Text)
                Response.Write(" ")
                Response.Write(itmZona.Value)
                Response.Write("</ br>")
               
                While dtrCheks.Read
                    Response.Write(" <li> ")
                    Response.Write(dtrCheks("idArray"))
                    Response.Write("</ br>")
                End While
         
            Next
           
            conRekuperarChecks.Close()
            dtrTitles.Close()
            conAdLicencia.Close()
            Label4.Text = "si entra al if"
        Else
            Label4.Text = "no entra al if"
        End If
    End Sub
el problema esta aqui:


For Each itmZona In chkListaZona.Items
Response.Write(" <li> ")
Response.Write(itmZona.Text)
Response.Write(" ")
Response.Write(itmZona.Value)
Response.Write("</ br>")

While dtrCheks.Read
Response.Write(" <li> ")
Response.Write(dtrCheks("idArray"))
Response.Write("</ br>")
End While

Next


el resultado de esto es :

rojo 2
2
3
azul 3
verde 4

y lo que debe mostrar es:

rojo 2
2
3
azul 3
2
3
verde 4
2
3

pero no entiendo orque no ocurre eso ._.


Pregunta para el mod: como se hace para que el tag del codigo quede en colores como el tag de php?