Ver Mensaje Individual
  #1  
Antiguo 20-07-2007
servicomp servicomp is offline
Miembro
 
Registrado: oct 2003
Ubicación: Cartago
Posts: 153
Reputación: 21
servicomp Va por buen camino
MAnejando la integridad de los Datos en Firebird

Hola compañeros

ÇComo lo he manifestado en preguntas anteriores son nuevo en esto de el Firebird, y queremos en estas vacaciones migrar mi viejo aplicativo de Paradox a Firebird

Según lo que hemos leído en el foro y entras páginas, tomé la desición de usar los IBX comommetodo de conexión de mi firebird.

Todos los ejemplos que hemos hecho han resultado de mucha ayuda y aprendizaje, pero también han iniciado a salir las dudas que no he podido resolver.

Se ha creado una tabla ejemplo pequeña con la siguiente composición
Código SQL [-]
CREATE TABLE PERSONAS (
    NIT          VARCHAR(12) NOT NULL,
    NOMBREUNO    VARCHAR(10) NOT NULL,
    NOMBREDOS    VARCHAR(10),
    APELLIDOUNO  VARCHAR(15) NOT NULL,
    APELLIDODOS  VARCHAR(15),
    CELULARUNO   VARCHAR(15),
    CELULARDOS   VARCHAR(15),
    TELEFONO     VARCHAR(15),
    EMAIL        VARCHAR(30),
    MESSENGER    VARCHAR(30)
);


/****                             Primary Keys                             ****/

ALTER TABLE PERSONAS ADD CONSTRAINT PK_PERSONAS PRIMARY KEY (NIT);

Le ingresamos algunos datos, pero como no se debe repetir el campo NIT. tratamos de resolver el problema como se hace en paradox, el cual es recoger el valor a verificar y mediante una buisquedad en la tabla, si se encuentra, nos ubicamos en el y traemos la información.

En firebird los conceptos son totalmente diferentes

Código:
1. Podemos hacerlo mediante un TRIGGERS ó disparador, en el Before Insert.
2. Mediante un Procedimiento Almacenado
3. Este a pesar que no lo he leído me imagino ue también es factible, y es mediante código en Delphi.
El problema es que no he encontrado la forma de hacerlo, asi que solicito su colaboración para tener una luz.

Se que hay una forma de programarlo y seria algo asi
Código SQL [-]
Select NIT FROM  PERSONAS 
Where NIT = Edit1.Text;

Como proceso esta información.
Responder Con Cita