Consultas directas a la Base de datos sin usar las clases DAO

Consultas directas a la Base de datos sin usar las clases DAO

Si queremos hacer consultas directamente a la base de datos sin usar las clases DAO, lo podemos hacer facilemnte, definiendo una instancia del Result y otra instancia de la clase "Conexion" (clase creada por mapbdvista)

Dim miresultado As ResultDim miconexion As New Conexion 'esta clase es creada por mapbdvista 

Dim misql As String 'cadena de texto que contendrá el codigo sql 

Y luego usar el método  hconn.exec(sentenciaSql) de la clase conexion, para realizar la consulta:


miresultado = miconexion.hconn.Exec(misql)
Ejemplo  de uso:
Calcular el sumatorio de la columna llamada "total" de la tabla "descompuestomateriales" (el código muestra como usar este método, no esta completo)


Public Sub CalcularValorPresupuesto()

Dim misql As String
Dim miresultado As Result
Dim miconexion As New Conexion

miconexion.conexion()'me conecto a la base de dato

'consulto suma de descompuesto de materiales
misql = "SELECT SUM(total) as Sumatorio FROM descompuestomateriales where idpresupuesto=" & Str$(idpresupuesto)
miresultado = miconexion.hconn.Exec(misql)
If Not IsNull(miresultado["Sumatorio"]) Then
ValorPresupuestoCalculado = miresultado["Sumatorio"] 'suma de descompuesto de materiales
Endif


miconexion.desconectar() ' me desconecto de la base de datos


End



Otro ejemplo: esta vez recorriendo el resultado de la consulta, con un bucle while wend:

Public Sub rellenar(modo As Integer)

Dim sql As String
Dim hresult As Result
Dim c As New Conexion

c.conexion()
sql = "select * from Imagenes where idpresupuesto=" & idpresupuesto & " and tipo=" & Str$(modo)
hresult = c.hconn.Exec(sql)

While hresult.Available

creaDibujo(modo, hResult["ruta"])

hresult.MoveNext

Wend

End




No hay comentarios:

Publicar un comentario