| |||
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. |
| |||
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). |
| ||||
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).
__________________ Friedrich Nietzsche |