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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2017
Franfarnaz Franfarnaz is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 6
Poder: 0
Franfarnaz Va por buen camino
Validar Registro de Datos en una BD

Hola.

Soy nuevo en el foro y he revisado varias post frente a este tema pero después de una larga ausencia de mi parte en delphi, veo que algunas cosas han cambiado y me encuentro atorado en esto que describo a continuación: Tengo un form con varios campos (TDBEdit y TDBLookupComboBox), quiero verificar que si existen campos en blancos, la instrucción de inserción en la base de datos no se ejecute hasta que todos los campos estén diligenciados. he superado el problema en cuanto a validar los TDBEdit pero los TDBLookUpComboBox me da un error. El código que uso es sencillo pero como dije solo me valida los DBEdit.

for x := 0 to ComponentCount - 1 do

if ((Components[x] is TDBEdit) or (Components[x] is TDBLookupComboBox)) then begin
if (((Components[x] as TDBEdit).Text = '') or ((Components[x] as TDBLookupComboBox).Text = '')) then
begin
ShowMessage ('Campos sin diligenciar' +' '+ QuotedStr(Components[x].Name) );
(Components[x] as TDBEdit).SetFocus;

end
end else begin

TInsercion.BtnClick(nbInsert);
end;

De igual forma agradezco si podrían ayudarme en validar si el dato es numero o texto. de antemano gracias y disculpas si he repetido el tema, pero no encontré información concreta frente a este inconveniente.
Responder Con Cita
  #2  
Antiguo 29-10-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración


Y recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 30-10-2017
hal1967 hal1967 is offline
Miembro
 
Registrado: feb 2012
Posts: 32
Poder: 0
hal1967 Va por buen camino
Frank algo que no tiene que ver con BB DD. Es "if" que colocaste debería estar separado en dos partes dado que estás tratando de evaluar el mismo objeto como dos clase distintas (en principio no debe haber problemas porque ambas deben descender de algo como TCustomEdit, pero el operador "as" es bastante quisquilloso).

En todo caso separa

en lugar de

if A or B then


algo como

if A then.....
if B then....


Tu problema es en el segundo "if"


Cita:
Empezado por Franfarnaz Ver Mensaje

for x := 0 to ComponentCount - 1 do

if ((Components[x] is TDBEdit) or (Components[x] is TDBLookupComboBox)) then begin
if (((Components[x] as TDBEdit).Text = '') or ((Components[x] as TDBLookupComboBox).Text = '')) then
Responder Con Cita
  #4  
Antiguo 30-10-2017
Franfarnaz Franfarnaz is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 6
Poder: 0
Franfarnaz Va por buen camino
Gracias por su ayuda y comentarios...pues termine resolviendo el problema sin evaluar los componentes, asi que use una comprobacion directa a la vieja usanza.

Código Delphi [-]
if ( (_Tipo_Documento.KeyValue <> null) and (Documento.Text <> '') and (_Nombre.Text <> '') 
and (_Apellido.Text <> '') and (_Genero.KeyValue <> null) and (_Edad.Text <> '') 
and (_Nombre_Acudiente.Text <> '') and (_Apellido_Acudiente.Text <> '') and (_Telefono.Text <> '') 
and (_Direccion.Text <> '') and (_Discapacidad.KeyValue <> null)  ) then begin

       TInsercion.BtnClick(nbInsert);
       ShowMessage ('Datos Registrados');

      end else begin


       ShowMessage ('Todos los Campos Deben Ser Diligenciados');

      end;

y con eso me funciono bien, en cuanto a lo de la validación en el evento keypress de datos lo especifique así:

Código Delphi [-]
procedure TForm2._TelefonoKeyPress(Sender: TObject; var Key: Char);
begin

  if not(Key in ['0'..'9',#8]) then
  begin
    Key:=#0;
    ShowMessage('Solo se Admite Numeros, Sin Punto ni Comas');
  end;


end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 la existencia de un registro lucho1981 Conexión con bases de datos 19 18-11-2008 18:45:06
Validar registro antes de insertar Moparova SQL 10 30-10-2008 17:11:42
Eliminar Registro (Validar) UTECYBER OOP 8 29-10-2008 19:15:13
validar registro jefferson Internet 1 23-10-2008 21:41:22
Recorrer base de datos registro por registro Goyo SQL 3 06-09-2006 22:40:47


La franja horaria es GMT +2. Ahora son las 17:36:08.


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