Que tal compañeros
Con una consulta.
Tengo una Forma (form, ventana) que despliega mucha informacion de cierto producto, esta se abre luego que se selecciona dicho producto.
en esta ventanita tengo Textbox en los cuales yo coloco la informacion de la base de datos :)
ahi todo bien, la cuestion es que tarda mucho en abrir (15 segundos) mientras que las demas formas del programa no tardan ni 1 segundo en abrir entonces si se nota la diferencia con esta
yo estoy usando conexion odbc, y este es mi codigo, el cual busca el primer registro de la tabla y lo obtiene, luego busca otro registro y lo trae, todos estos registros los guardo en variables las cuales yo las coloco en los Textbox antes mencionados
el problema es que hago un select por cada campo que obtengo de la base de datos , les deje un ejemplo de 4 campos que obtengo
Código SQL:
Ver original' Aqui me conecto
Dim conexionODBC As New OdbcConnection
Dim cadenaConexion As String = ("dsn=" & varGlobalServer & ";uid=" & varGlobalUsuario & ";pwd=" & varGlobalContrasena & ";")
conexionODBC.ConnectionString = cadenaConexion
conexionODBC.Open()
'Aqui hago las consultas a la BD
Dim varDesProducto AS NEW OdbcCommand("Select DESCRIPCION_PROD from MAESTRO_PRODUCTOS WHERE PRODUCT0='" & txtCodProducto.Text & "'", conexionODBC)
Dim varDesCodUni AS NEW OdbcCommand("Select DESCRP_UNIDAD_VENTA from UNIDADES_DE_VENTA WHERE CODIGO_UNIDAD_VENTA='" & txtCodigoUnidad.Text & "'", conexionODBC)
Dim varDesBodega AS NEW OdbcCommand("Select DESCRIPCION_BODEGA from MAESTRO_DE_BODEGAS WHERE CODIGO_BODEGA='" & txtCodBodega.Text & "'", conexionODBC)
Dim varDesUbi AS NEW OdbcCommand("Select DESCRIP_UBICACION from UBICACIONES WHERE CODIGO_DE_UBICACION='" & txtCodUbi.Text & "'", conexionODBC)
'Aqui coloco en los Textbox el valor obtenido en las consultas de arriba, pero antes evaluo si hay un nulo, puesto que si encuentra nulo y no verifico el programa da error
If IsDBNull(varDesProducto.ExecuteScalar) Then
txtDescProducto.Text = ""
Else
txtDescProducto.Text = varDesProducto.ExecuteScalar
End If
If IsDBNull(varDesCodUni.ExecuteScalar) Then
txtDescUnidad.Text = ""
Else
txtDescUnidad.Text = varDesCodUni.ExecuteScalar
End If
If IsDBNull(varDesBodega.ExecuteScalar) Then
txtDescBodega.Text = ""
Else
txtDescBodega.Text = varDesBodega.ExecuteScalar
End If
If IsDBNull(varDesUbi.ExecuteScalar) Then
txtDescUbicacion.Text = ""
Else
txtDescUbicacion.Text = varDesUbi.ExecuteScalar
End If
bueno y asi con un monton de campos que obtengo de la base de datos., en el ejemplo de arriba consulto de distintas tablas , pero hay veces que necisto info de la misma tabla
yo quisiera saber si hay un metodo de tirar solo una consulta y luego obtener los campos individualmente y meterlos en los textobx para desplegarlos, supongo que esto seria mucho mas rapido.
me comentan que en visual 5 existe algo que se llama recordset , pero no se a que se refiere y ando perdido en el tema
talvez alguien me puede ayudar
Gracias de antemano