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 31-08-2007
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 22
diegofhernando Va por buen camino
Question Validar campo requerido en clientdataset

Hola gente, bien en esta ocasion revisando algo de codigo q tengo por ahi, me di cuenta q aun no logro personalizar el mensaje de error q genera el clientdataset cuando se van a salvar los datos y no se ingresa la informacion para un campo requerido, me gustaria poner mi propio mensaje en esa excepcion, si alguien lo ha logrado agradeceria su ayuda.

Como siempre muchas gracias por su tiempo.

Salu2
__________________
Diego. Colombia es pasión.
Responder Con Cita
  #2  
Antiguo 03-09-2007
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 22
diegofhernando Va por buen camino
Bien... sigo sin solucionar esta situación, no pense q fuera tan complicado.

Sigo en espera de algun aporte, como siempre gracias por su tiempo.

Salu2
__________________
Diego. Colombia es pasión.
Responder Con Cita
  #3  
Antiguo 03-09-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
.... modificado ....
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web

Última edición por Chris fecha: 03-09-2007 a las 19:19:06.
Responder Con Cita
  #4  
Antiguo 03-09-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Deverías de poner el mensaje y el tipo de mensaje que normalmente aparece cuando los registros no cumplen las condiciones.
Creo que podrías validar tu los datos antes de llamar al Post. Esto sería mejor, ya que normalmente los mensajes de error de delphi, no identifican el error con un numero, sino solamente con un mensaje. (algo molesto por cierto).
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #5  
Antiguo 03-09-2007
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 22
diegofhernando Va por buen camino
Primero... agradezco tu respuesta, y pues bien el mensaje de error que se genera en esta situacion es: "Field 'Nombre campo' must have a value", en la definicion de campos del clientdataset tengo establecidos cuales campos deben ser requeridos para terminar el registro y el mismo gestiona el mensaje de error, he probado con el evento OnReconcilleError, pero parece ser que este error de validacion no pasa por el.

Salu2
__________________
Diego. Colombia es pasión.
Responder Con Cita
  #6  
Antiguo 03-09-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
pon el post de tu tabla entre try..except..
captura la excepción y muestra tu mensaje personalizado

Código Delphi [-]
  try
    clientdataset.post;
  except
     ShowMessage('Aquí pon tu mensaje');
   end;
Obviamente el código que te pongo captura CUALQUIER excepción solo tendrías que especificar en el except exactamente la excepción que quieres tratar.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 03-09-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Primero, debes comprender: Los campos pueden ser requeridos por la tabla subyacente o bien por medio de la propiedad "Required" del campo. Si tu situación es la primera, puedes utilizar el código puesto por el compañero AzidRain, en la excepción debes de manejar el error "EDatabaseError". Como te había dicho, la VCL no posee códigos de error, así que ten cuidado al manejar este error, porque un error de tipo EDatabaseError puede tener varias causas.

Si tu escenario es el segundo, en donde tú has marcado la propiedad Required a True, entonces utiliza el evento OnValidate del objeto TField asociado a cada campo.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #8  
Antiguo 10-09-2007
Avatar de diegofhernando
diegofhernando diegofhernando is offline
Miembro
 
Registrado: may 2003
Ubicación: Locombia papá!
Posts: 267
Poder: 22
diegofhernando Va por buen camino
Q tal... gracias por sus respuestas, lamento haber tardado tanto en responder, efectivamente he encontrado la solucion a mi problema, lo he hecho a traves del evento beforepost del clientdataset de la siguiente manera:

Código Delphi [-]
     for I := 0 to MDS.FieldCount - 1 do
         begin
              if (mds.Fields[i].Required) and (mds.Fields[i].AsVariant = null) then
                 begin
                      application.MessageBox(PChar('El campo ' + QuotedStr(mds.Fields[i].DisplayLabel) + ' es requerido.'),'Advertencia',mb_ok + mb_iconwarning);
                      Abort;
                      exit;
                 end;
         end;

Salu2
__________________
Diego. Colombia es pasión.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Validar campo Juan Reyes Varios 20 18-05-2007 23:00:38
ClientDataSet y campo COMPUTED BY Jose Miguel Mun Firebird e Interbase 2 24-02-2007 15:29:48
Validar Campo esimon OOP 6 09-05-2006 16:07:34
Crear un campo dataSetFiell en un ClientDataset jmlifi Varios 3 19-01-2006 15:34:06
Validar un campo gluglu Varios 3 14-01-2005 15:43:58


La franja horaria es GMT +2. Ahora son las 23:22:38.


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