Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2009-10

dos tablas relacionadas por foreign keys compuesta

4 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

marcos negrini

Hola a todos:
tengo dos tablas relacionadas en una BD postgres:
CREATE TABLE maras.persona
(
tipo_documento character varying(3) NOT NULL,
nro_documento bigint NOT NULL,
nombre character varying(60) NOT NULL,
apellido character varying(60) NOT NULL,
CONSTRAINT persona_pkey PRIMARY KEY (nro_documento, tipo_documento) )
CREATE TABLE maras.fotografias
(
idimagenes serial NOT NULL,
persona_nro_documento bigint NOT NULL,
persona_tipo_documento character varying(3) NOT NULL, fecha date,
hora time without time zone,
archivo bytea NOT NULL,
CONSTRAINT fotografias_pkey PRIMARY KEY (idimagenes), CONSTRAINT fotografias_fk_persona FOREIGN KEY (persona_tipo_documento, persona_nro_documento) REFERENCES maras.persona (tipo_documento, nro_documento) MATCH FULL ON UPDATE CASCADE ON DELETE CASCADE
)

para conectarme desde lazarus estoy usando zeos, mi problema es que no se como vincularlo; buscando informacion en internet encontre como hacerlo con una foreign key de un solo campo, dos datasource, y en el secundario en el campos mastersource indico el datasource de la tabla principal , en el campo master fields la clave foranea y en linked field el campo con el cual se relaciona, pero con dos o en realidad una clave compuesta no encuetro como hacerlo; alguien me podria orientar. saludos
Marcos negrini

Yahoo! Cocina

Encontra las mejores recetas con Yahoo! Cocina.

http://ar.mujer.yahoo.com/cocina/

Reply by email

Jose Antonio Cuello
to marcos negrini

A qu� te refieres con "vincularlo"?. Qu� es lo que deseas hacer?.

marcos negrini escribi�:

para conectarme desde lazarus estoy usando zeos, mi problema es que no se como vincularlo; buscando informacion en internet encontre como hacerlo con una foreign key de un solo campo, dos datasource, y en el secundario en el campos mastersource indico el datasource de la tabla principal , en el campo master fields la clave foranea y en linked field el campo con el cual se relaciona, pero con dos o en realidad una clave compuesta no encuetro como hacerlo; alguien me podria orientar. saludos Marcos negrini

Reply by email

marcos negrini
to Jose Antonio Cuello
Show quoted text 5 lines
De: Jose Antonio Cuello <josea en artextrading.com> Asunto: Re: [Lazarus-es] dos tablas relacionadas por foreign keys compuesta Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Fecha: jueves, 22 de octubre de 2009, 3:54 am A qu� te refieres con "vincularlo"?.

en las pruebas que realice con dos ztable y dos datasource, quedan relacionados(vinculados) por un campo foreignkey, o sea, si en la primer datasource me muevo de registro, en la segunda me devolveria los registros dependientes del valor que tenga actualmente esa foreign key

Qu� es lo que deseas hacer?.

en realidad saber si con estso componentes puedo hacer los mismo de arriba pero con foreign keys compuestas(de dos o mas campos), asi poder manejar el ABM de esas tablas y sus relaciones directamente con los componentes(y no tener que usar sql directamente, que es lo que estoy haciendo actualmente)

Show quoted text 21 lines
marcos negrini escribi�: > para conectarme desde lazarus estoy usando zeos, mi problema es que no se como vincularlo; buscando informacion en internet encontre como hacerlo con una foreign key de un solo campo, dos datasource, y en el secundario en el campos mastersource indico el datasource de la tabla principal , en el campo master fields la clave foranea y en linked field el campo con el cual se relaciona, pero con dos o en realidad una clave compuesta no encuetro como hacerlo; alguien me podria orientar. > saludos > Marcos negrini >��� _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Yahoo! Cocina

Encontra las mejores recetas con Yahoo! Cocina.

http://ar.mujer.yahoo.com/cocina/

Reply by email

Jose Antonio Cuello
to marcos negrini

Existen distintas maneras para realizar un mantenimiento con dbcontrols. Para hacer que un Dataset se posicione en funci�n de otro (Master / Detalle) no es necesaria ninguna foreing key, aunque si existen indices comunes a los campos relacionados siempre ir� m�s r�pido el posicionamiento del dataset detalle. Particularmente, lo hago con componentes queries (no me gustan nada de nada los TTable) y un UpdateObject con las sentencias de inserci�n, update y delete. Luego mediante la propiedad MasterSource del TQuery detalle le indicas el TQuery Master. El TQuery detalle ir� a buscar los campos o par�metros del Where que desconozca al TQuery master y se refrescar� cada vez que el master cambie.

De esta manera puedes usar m�s de una tabla en las sentencias SQL del master y del detalle, por ejemplo para traerte descripciones de campos relacionados con otras tablas. Bueno espero haberte ayudado ... un saludo.

marcos negrini escribi�:

en las pruebas que realice con dos ztable y dos datasource, quedan relacionados(vinculados) por un campo foreignkey, o sea, si en la primer datasource me muevo de registro, en la segunda me devolveria los registros dependientes del valor que tenga actualmente esa foreign key en realidad saber si con estso componentes puedo hacer los mismo de arriba pero con foreign keys compuestas(de dos o mas campos), asi poder manejar el ABM de esas tablas y sus relaciones directamente con los componentes(y no tener que usar sql directamente, que es lo que estoy haciendo actualmente)

Reply by email