elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Capturar / evitar error en caso de recordset vacio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Capturar / evitar error en caso de recordset vacio  (Leído 4,766 veces)
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Capturar / evitar error en caso de recordset vacio
« en: 9 Junio 2010, 13:51 pm »

Hoolas!!

Estoy programando un sistema de gestion en vb6 y mysql, con ado por codigo
todo va de maravilla, salvo que hay veces que salta error al intentar trabajar con un recordset vacio. Pero.... por mas que evalue si esta vacio me tira el error  :laugh:

Este es el codigo:
Código
  1.    Private Function Ejecutar() As Boolean
  2.        Debug.Print Time & " - " & Consulta & vbCrLf
  3.  
  4.        If Not cnnDatos.Execute(Consulta) Is Nothing Then
  5.            Set rsDatos = cnnDatos.Execute(Consulta)
  6.            If Not (rsDatos.BOF And rsDatos.EOF) Then rsDatos.MoveFirst
  7.            Ejecutar = True
  8.        Else
  9.            Ejecutar = False
  10.        End If
  11.    End Function
  12.  

Siendo cnnDatos la conexion a MySQL y rsDatos un recordset

El if que evalua si el lo que devuelve el cnnDatos.execute lo agregue para tratar de caputrar el error y asi devolver falso (y decir que no hay registro), pero hay veces que el debuger se para ahi, diciendo que no se puede "abrir" el recorset o que EOF = BOF o algo asi....

Alguna ayuda/sugerencia/copy&paste :xD :¬¬?


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Capturar / evitar error en caso de recordset vacio
« Respuesta #1 en: 9 Junio 2010, 19:15 pm »


Código
  1.  
  2. Private Function Ejecutar() As Boolean
  3.    Debug.Print Time & " - " & Consulta & vbCrLf
  4.    If Not cnnDatos Is Nothing Then
  5.        Set rsDatos = cnnDatos.Execute(Consulta)
  6.        If Not rsDatos Is Nothing Then
  7.            Ejecutar = Not (rsDatos.BOF And rsDatos.EOF)
  8.            If Ejecutar Then rsDatos.MoveFirst
  9.        End If
  10.    End If
  11. End Function
  12.  
  13.  

Dulce Infierno Lunar!¡.


En línea

The Dark Shadow is my passion.
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Capturar / evitar error en caso de recordset vacio
« Respuesta #2 en: 11 Junio 2010, 20:35 pm »

Es posible también también que el error se produzca, no porque un campo esté vacío sino porque el campo sea nulo. Este error es muy común, más cuando se trabaja con fechas. Cuando trabajes con valores nulos, haz lo siguiente:
Text1.Text = "" & textonulo 'evitas el error
valor = val("0" & texto_de_valornulo) 'Val, Csng etc... trabajar con valores numéricos.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Capturar / evitar error en caso de recordset vacio
« Respuesta #3 en: 12 Junio 2010, 00:44 am »

Es posible también también que el error se produzca, no porque un campo esté vacío sino porque el campo sea nulo. Este error es muy común, más cuando se trabaja con fechas. Cuando trabajes con valores nulos, haz lo siguiente:
Text1.Text = "" & textonulo 'evitas el error
valor = val("0" & texto_de_valornulo) 'Val, Csng etc... trabajar con valores numéricos.

Muchas gracias por el consejo, aunque el error sucedia exactamente en la linea del execute  :)
De todas formas nunca trabajo con nulls :D (DEFAULT "" es mejor para mi, sino me rompen los triggers :B )
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[VBS] Evitar ventanita de error del script
Scripting
Eleкtro 1 2,865 Último mensaje 8 Noviembre 2011, 12:17 pm
por BlackZeroX
Error 3251 - Recordset en Red « 1 2 »
Programación Visual Basic
MandingoPC 13 8,885 Último mensaje 10 Mayo 2012, 07:06 am
por seba123neo
Impresora deskjet 2722 bloqueada por cartucho vacio (rellenado) error E0
Hardware
Dirgis 8 5,676 Último mensaje 27 Octubre 2021, 14:17 pm
por FreeCellnet
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines