Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Clave Vacia (https://www.clubdelphi.com/foros/showthread.php?t=19985)

istradlin 01-04-2005 19:58:26

Clave Vacia
 
Tengo un formulario para introducir clientes en una bd firebird, el caso es que la clave principal es el NIF, y, si la dejo en blanco me da error y me sale del programa, como puedo hacer para que me avise de que tengo que cubrir el campo NIF sin que me cierre el programa?

Un saludo a todos y gracias de antemano.

geovany 01-04-2005 21:03:11

Verifica
 
AL momento de mandar los parametros verifica que no vaya en blanco es lo as sencillo

istradlin 01-04-2005 21:06:27

bien el problema es, como hago eso :(

roman 01-04-2005 21:40:00

No sé de qué manera estés haciendo la inserción pero si utilizas un dataset entonces basta que uses su evento BeforePost para hacer la validación. Si el campo no se llenó, usas abort para cancelar la inserción.

// Saludos

istradlin 01-04-2005 21:55:31

si, estoy haciendo una insercion, uso un IBDataset.
Los datos los intruduzco en un grupo de DBEdits, uno para cada campo.
entonces yo cubro todos los campos y luego doy al boton este que es una V que esta en un DBNav.

Bien, me voy al evento beforeinsert del dataset entonces se me abrira para escribir codigo de delphi, y como le pongo:

if DBedit1.Text = "" then
begin
..
end;

¿? es asi como accedo a lo que esta escrito en un dbedit? y luego porque sustituyo los puntos dentro del if?
mmm ClientesDataset.Abort?
si os sirve de algo, el dataset clientes le puse una propiedad Transaction a un objeto transaction que tengo tambien en el modulo de datos.

un saludo.

roman 01-04-2005 22:27:03

Código Delphi [-]
if DBEdit1.Text = '' then
  abort;

También puedes acceder directamente al campo con el parámetro DataSet del evento:

Código Delphi [-]
if DataSet.FieldByName('nif') = '' then
  abort;

Finalmente nota que no es BeforeInsert sino BeforePost.

// Saludos

jachguate 01-04-2005 23:24:22

¿no basta poner la propiedad required del campo a true?

Hasta luego.

;)

roman 01-04-2005 23:34:27

Supongo que sí basta. Lo malo es que a no ser que cambies los recursos de Delphi, obtendrás el mensaje de error en inglés y normalmente inentendible para el usuario final.

// Saludos

jachguate 01-04-2005 23:46:52

Buen punto. En todo caso, yo prefiero el esfuerzo de cambiar una vez los recursos al castellano, y en cambio tener código mas limpio, que el esfuerzo de escribir esta validación 10,000 veces en mi vida... :D

Hasta luego.

;)

roman 01-04-2005 23:54:03

También buen punto pero a fin de cuentas muchas veces es necesario de cualquier forma el uso del evento para validaciones menos inmediatas y bueno, no creo haber escrito mil veces este evento :D

La verdad es que nunca he usado traducciones de recursos pero acepto que esto ya es manía personal.

// Saludos

jachguate 01-04-2005 23:55:22

Cita:

Empezado por roman
acepto que esto ya es manía personal.

Estoy seguro querido amigo que no es la mas grave... :D:D


La franja horaria es GMT +2. Ahora son las 17:05:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi