Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/10/2007, 18:25
Avatar de locojars
locojars
 
Fecha de Ingreso: mayo-2002
Mensajes: 265
Antigüedad: 22 años, 9 meses
Puntos: 4
Pregunta Consultar varias tablas con la misma conexion,reader,command...etc.

Estimados Amigos,

Soy bastante nuevo en la parte de programar con VB.NET, he tenido que crear un pequeño programa para hacer consultas a varias tablas que estan relacionadas con una tabla padre, En mi Ignorancia he hecho lo siguiente:
Código:
' Tengo una variable de conexion en los settings que contiene el string
' de conexion a la BD donde se encuentran todas las tablas.

        Dim con As New Data.SqlClient.SqlConnection(My.Settings.CNSQLSERVER)
        Dim con1 As New Data.SqlClient.SqlConnection(My.Settings.CNSQLSERVER)
        Dim con2 As New Data.SqlClient.SqlConnection(My.Settings.CNSQLSERVER)

       Dim comm As New Data.SqlClient.SqlCommand
        Dim comm1 As New Data.SqlClient.SqlCommand
        Dim comm2 As New Data.SqlClient.SqlCommand

        Dim reader As Data.SqlClient.SqlDataReader
        Dim reader1 As Data.SqlClient.SqlDataReader
        Dim reader2 As Data.SqlClient.SqlDataReader

Dim sqltext = "select * from ATENCIONESCLIENTE"
        Try
            con.Open()
            comm = New SqlClient.SqlCommand(sqltext, con)
            reader = comm.ExecuteReader
            If reader.HasRows Then
                Do While reader.Read
                   Dim sqltex1 = "select nombreSucursal from SUCURSALES where codigoSucursal=" + reader("codigoSucursal").ToString
                    Dim sqltex2 = "select nombreProyecto from PROYECTOS where codigoProyecto=" + reader("codigoProyecto").ToString

                      Try
                        con1.Open()
                        con2.Open()

                       comm1 = New SqlClient.SqlCommand(sqltex1, con1)
                        comm2 = New SqlClient.SqlCommand(sqltex2, con2)


'  y asi sucesivamente hasta tener en cada uno de los reader los datos de cada
' una de las tablas consultadas.

Se que esta muy mal hecho(imagino) de esta manera, pero no conozco ni encuento la manera de utilizar la misma conexion y el mismo command, reader..etc(si es que se pueden utilizar los mismos.

Trate de utilizar la misma conexion, pero al ingresar al do while me dice que ya hay una conexion abierta.

Si alguien puede echarme una mano se los agradeceria y me aclare la mejor forma de poder hacerlo.

Saludos,
JARS
__________________
No le digas a Jehová que tan grande es tu problema, dile a tu problema cuan grande es Jehová.