Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/02/2012, 14:12
Avatar de lucord
lucord
 
Fecha de Ingreso: marzo-2010
Ubicación: San Jose, Costa Rica
Mensajes: 87
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Analisis de Sentencia en Conexion

Código vb:
Ver original
  1. Try
  2.  
  3.             Dim sentencia As String  
  4.             Dim rsverificar As ADODB.Recordset
  5.             rsverificar = New ADODB.Recordset()
  6.            
  7.             sentencia = "Select " & NomCampo ' arma en el string sentencia la palabra Select + nombre del campo que parece venir de afuera
  8.            sentencia = sentencia & " FROM " & Tblreturn 'luego agrega el estatuto from + nombre de la tabla que parece venir de afuera de la funcion
  9.            If Not filtro = Nothing Then 'verifica que la variable filtro no este vacia  
  10.                sentencia = sentencia & " Where " & filtro ' añade el were + la condicion que tambien viene de afuera
  11.            End If
  12.  
  13.             If conexionConsulta = "SQL" Then 'valida el tipo de consulta
  14.                rsverificar.Open(sentencia, cnSQL, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockReadOnly, 1)  'abre record set y ejecuta la consulta
  15.                conexionConsulta = "Access"
  16.             Else
  17.                 rsverificar.Open(sentencia, cnAccess, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockReadOnly, 1)  'abre recordset y ejecuta la consulta
  18.            End If
  19.  
  20.             If rsverificar.EOF <> True Then  'mientras no sea el fin del recordset = true
  21.                RetornaCampo = rsverificar.Fields(0).Value  'retorna el valor del campo
  22.                If IsDBNull(rsverificar.Fields(0).Value) = True Then  'si el capo esta vacio
  23.                    RetornaCampo = 0  'retorna un 0
  24.                End If
  25.             Else
  26.                 RetornaCampo = 0  'si recordset no tiene registros retorna 0
  27.            End If
  28.  
  29.             rsverificar.Close()  'cierra el recordset
  30.  
  31.         Catch ex As Exception
  32.             MsgBox("Ocurrio un error interno en la aplicación " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, "Atención")
  33.             Return 0
  34.         End Try


Parece que tu código lo que hace es armar una instrucción SQL en base a varios parámetros y determina si es una consulta SQL o de Access, luego la ejecuta cargándolo en un Recordset y extrae los datos siempre que el RecordSet tenga algo, si algun campo esta vacio o no tiene dato retorna un o.
Sin embargo hay unas variables que parecen venir de afuera, pasados por referencia o declarados en alguna sección de código que hace falta.

espero te ayude de algo.

Salu2.