SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: karyrmzv en Domingo 26 de Septiembre de 2010, 21:59

Título: no guardar registro hasta que se llenen todos los campos
Publicado por: karyrmzv en Domingo 26 de Septiembre de 2010, 21:59
Hola buenas tardes, espero puedan ayudarme, estoy realizando un proyecto y ya estoy por terminarlo
mi duda es la siguiente, tengo todo mi formulario con etiquetas y edits, y un boton para guardar en la base de datos los campos de los edits, solo que cuando le doy click al boton de guardar manda los campos a la base de datos aunque algunos esten vacios, que condicion puedo usar para que me mande un error y no permita guardar hasta que se llenen todos los campos?
Muchas gracias =) espero darme a entender :)
Título: Re: no guardar registro hasta que se llenen todos los campos
Publicado por: softevolutions en Lunes 27 de Septiembre de 2010, 10:07
Revisa el contenido de los TEdit y evalua su volor según necesites en cada uno.

Si por ejemplo, si es un texto a rellenar obligatorio, en tu función pon algo como esto:

Código: C++
  1. if( miedit->Text.IsEmpty() ) {
  2.      ShowMessage("campo obligatorio");
  3.      return;
  4. }
  5.  
Título: Re: no guardar registro hasta que se llenen todos los campos
Publicado por: karyrmzv en Lunes 27 de Septiembre de 2010, 21:45
Muchas gracias, eso fue lo que hice ayer, pero al momento de querer volver  a guardar me marca en error, quiza porque lo estoy poniendo en en boton, o en que evento de la forma pudo preguntar las sentencias para evitar que edits queden vacios y ya cuando se cumplan todos se active el boton de guardar?
Título: Re: no guardar registro hasta que se llenen todos los campos
Publicado por: TRod en Martes 28 de Septiembre de 2010, 03:44
Replantea y/o revisa el diseño de tu Base de Datos. (Restricciones de Integridad)
Puede ser que sea inutil que un campo sea estrictamente "no nulo" y darle todo el peso de la responsabilidad al usuario el llenarlo.

Administra el evento 'OnPostError' y haz que se ejecuten las intrucciones necesarias para solventar el problema. Por ejemplo, dar un valor por default a la columna en cuestion, o marcar el aviso y poner el parametro 'tdataaction' en el estado más conveniente que creas.

Suerte.

PD: ¿ estás usando TEdit o TDBEdit ?