Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Programación General (http://www.forosdelweb.com/f14/)
-   -   pregunta sobre delphi (http://www.forosdelweb.com/f14/pregunta-sobre-delphi-169886/)

darkman 06/12/2003 20:23

pregunta sobre delphi
 
hola tengo un problema, como puedo restringir el campo DNI osea el documento nacional de indetidad (para la argentina) que es unico por persona. osea que quiero algun codigo o compenente que se fije en la base de datos y me diga que ya existe y que no se puede volver a ingresar. este proceso lo hago en el alta de un cliente, osea que ya esta abierta la base de datos al ingresar el DNI. El tema es que no encuentro la manera de restringir la forma de que no me ingrese un mismo DNI.

Mithrandir 07/12/2003 12:25

Necesitas hacer que el campo DNI de tu base de datos sea el campo llave (keyfield) eso impedira que te metan registros con ese campo duplicado.

Si estas usando tablas tipo paradox en el database desktop modifica la tabla para agregarselo

darkman 07/12/2003 14:25

la base de datos esta echa en interbase
 
al estar echa en interbase, la tabla clientes contiene un cod_cliente, que lo definimos como primario y no nulo, es autoincremental por medio de un generador...el campo DNI, tiene las propiedades de numerio no nulo. lo que que queremos es que sea unico ese campo (DNI).

Mithrandir 07/12/2003 18:21

En ese caso creo que eligieron mal su clave, debio haber sido DNI la llave primaria, y no un autoincremental (que se suele reservar para cuando no hay llaves candidatas).

Si no es asi la unica alternativa que tendras es para cada insercion/modificacion hacer una consulta en busca del DNI que pretendes insertat/modificar, si no existe (query.RecordCount = 0) entonces si permitir el movimiento, si no, negarlo.

Aunque esta solucion puede tener sus implicaciones si piensas manejar concurrencia sobre la tabla, o sea una aplicacion multiusuario (que si usas paradox lo ideal seria que no).


La zona horaria es GMT -6. Ahora son las 15:39.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.