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 27-07-2005
Avatar de dmagui
dmagui dmagui is offline
Miembro
 
Registrado: may 2005
Posts: 168
Poder: 19
dmagui Va por buen camino
comparar dbedit contra registros de una tabla

Holaaaa foro:

necesito hacer una validacion de un dbgrid contra los registros guardados en una tabla y pienso hacerla asi:

Código Delphi [-]
 
if(DBEdit1.text = ????????)
  raise Exception.Create('Dato repetido');
else 
  begin
    raise Exception.Create('Correcto');
  end;

el problema es que no se como hacer el if para comparar mi dbedit contra el campo nombres de mi tabla clientes, es decir este if es para controlar que no se repita el nombre del cliente lo necesito asi por que ese campo no es primario y no lo puedo hacer primario por que me tocaria modificar gran parte de lo que ya he hecho
__________________
El espiritu humano no se acaba cuando es derrotado se termina cuando se rinde.
Responder Con Cita
  #2  
Antiguo 27-07-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues debiera ser clave primaria o como mínimo índice sin repetidos. Si haces que el campo sea índice secundario lo cual no te implica ningún cambio en tu código, puedes aprovechar el evento BeforeInsert del Ttable y lanzar una búsqueda utilizando un segundo ttble conectado a la misma tabla, si encuentras el registro mensaje y anulas la inserción y sino lo gravas.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 27-07-2005
Avatar de dmagui
dmagui dmagui is offline
Miembro
 
Registrado: may 2005
Posts: 168
Poder: 19
dmagui Va por buen camino
Pero con un if no se podria hacer?,

Gracias
__________________
El espiritu humano no se acaba cuando es derrotado se termina cuando se rinde.
Responder Con Cita
  #4  
Antiguo 27-07-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si pero a la vez que buscas porque hay que buscar en toda la tabla para ver si el registro eixste o no.
Código Delphi [-]
 Table1.IndexName:='Nombre_Del_Indice';
 If Table1.FindKey([Edit1.Text]) then
 ShowMessage('El registro ya existe);
...........

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 28-07-2005
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 22
German Va por buen camino
Cuidado por que impedir que haya 2 clientes con el mismo nombre y apellidos NO es correcto (simplemente busca por ejemplo en google Antonio Martinez Lopez y veras cuantos salen). Yo mejor controlaria que el NIF o DNI (o cualquier otro número identificativo de tu pais) no estuviera repetido.

Salu2.
__________________
Tengo las manos llenas de dedos... Tengo los dedos llenos de teclas...
Tengo las teclas desordenadas... Tengo el desorden muy controlado...
Tengo el control en mis manos.
Responder Con Cita
  #6  
Antiguo 19-07-2006
Avatar de destrukthor
destrukthor destrukthor is offline
Miembro
 
Registrado: may 2006
Posts: 57
Poder: 19
destrukthor Va por buen camino
Hola para todos

Hola a todos.
Para seguir con el hilo del tema mi pregunta va..
Como uso el FindKey para buscar registro compuestos secundarios, ejemplo:

La clave Compuesta esta formada por Correlativo,TipoDocumento,Proveedor
esos tres campos componen un indice secundario q tiene el nombre de IndiceCompuesto, Creado en Paradox por supuesto.
desde Ya gracias..
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera.
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 16:53:49.


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