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)
-   -   comparar dbedit contra registros de una tabla (https://www.clubdelphi.com/foros/showthread.php?t=23766)

dmagui 27-07-2005 22:08:48

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

marcoszorrilla 27-07-2005 22:12:55

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.

dmagui 27-07-2005 22:25:00

Pero con un if no se podria hacer?,

Gracias

marcoszorrilla 27-07-2005 22:28:15

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.

German 28-07-2005 11:11:46

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.

destrukthor 19-07-2006 13:59:09

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..


La franja horaria es GMT +2. Ahora son las 14:58:40.

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