Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2005
istradlin istradlin is offline
Miembro
 
Registrado: feb 2005
Posts: 58
Poder: 20
istradlin Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 01-04-2005
Avatar de geovany
geovany geovany is offline
Miembro
 
Registrado: sep 2004
Ubicación: El Fuerte Sinaloa
Posts: 165
Poder: 20
geovany Va por buen camino
Verifica

AL momento de mandar los parametros verifica que no vaya en blanco es lo as sencillo
__________________
El Fracaso tiene mil explicaciones el Éxito no necsita explicación
Responder Con Cita
  #3  
Antiguo 01-04-2005
istradlin istradlin is offline
Miembro
 
Registrado: feb 2005
Posts: 58
Poder: 20
istradlin Va por buen camino
bien el problema es, como hago eso
Responder Con Cita
  #4  
Antiguo 01-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #5  
Antiguo 01-04-2005
istradlin istradlin is offline
Miembro
 
Registrado: feb 2005
Posts: 58
Poder: 20
istradlin Va por buen camino
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.
Responder Con Cita
  #6  
Antiguo 01-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #7  
Antiguo 01-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
¿no basta poner la propiedad required del campo a true?

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 01-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #9  
Antiguo 01-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
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...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #10  
Antiguo 01-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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

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

// Saludos
Responder Con Cita
  #11  
Antiguo 01-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Cita:
Empezado por roman
acepto que esto ya es manía personal.
Estoy seguro querido amigo que no es la mas grave...
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:35:04.


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
Copyright 1996-2007 Club Delphi