Ver Mensaje Individual
  #9 (permalink)  
Antiguo 07/11/2012, 09:17
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problema al comprobar campos

¿Sabes controlar excepciones?
¿Conoces los bloques Try/Catch?
¿Capturas los errores que puede devolver la base de datos ante un fallo de una consulta?

los dos primeros son lo mismo: Todo programa puede disparar un error por diversas cosas, y cada una de ellas es una excepción, numerada y con mensaje, que debe capturarse para evitar que genere la detención del programa.
¿Eso lo entiendes?
Cada lenguaje tiene su método, pero capturar el error es sólo la primera parte: Tienes que en el momento de capturarlo, el usuario peuda recibir un mensaje (en pantalla o en log) que explique qué pasó (para eso están clasificadas las Exception), y poder darle información al soporte de la misma.
También la ejecución con error de una consulta en la base de datos devuelve a la aplicación un numero de error y un mensaje. Y antes de hacer nada con el objeto que recibe el producto de la consulta se debe verificar si no existieron errores y si los hubieron, notificarlos, sin permitir que la operación prosiga (y obviamente genere más errores a nivel aplicación).
Incluso, aunque no haya errores, puede que una consulta SELECT no devuelva registros, porque ninguno cumple las condiciones pedidas. Entonces el result es un puntero nulo y si lo usas sin verificar se producirán errores.
Todo esto es el ABC del desarrollo de programas.

Si no estás haciendo en tu aplicación nada de eso, entonces jamás vas a saber qué pasa, y nosotros tampoco podremos ayudarte.

Entonces, ¿estás capturando esos errores y mostrando los mensajes, o simplemente le mandas a mostrar un aviso que dice "Error"?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)