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