Delphi - claves compuestas

 
Vista:

claves compuestas

Publicado por Guido (18 intervenciones) el 05/09/2005 16:08:14
Necesito localizar un registro de una tabla en la base de datos para luego borrarlo. Esta tabla tiene clave primaria compuesta. Como me posiciono en un registro con claves compuestas?. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:claves compuestas

Publicado por skull leader (284 intervenciones) el 05/09/2005 16:42:02
no es tan dificil.
pondre un ejemplo, espero ser lo suficientemente claro.

primero, el modelo.

campomaestro - integer
subcampo - integer
subsubcampo - integer
subsubsubcampo - integer
detalle - varchar(80)

tenemos una relación, donde estamos intentando clasificar, el ejemplo pondre temas, suntemas, etc.

campomaestro será 1
subcampo será 0
subsubcampo será 0
subsubsubcampo será 0
detalle será "español"
en otras palabras la clave: 1 0 0 0 hace referencia a español

el caso esta en encerrar el valor, si quieres posisionarte en "ortografia",
cuya clave es 1 1 0 0, tienes que hacer un recorrido por la tabla o en su caso un query enviando parametros exactos.

si tenemos 4 compos, los cuales listan los nombres segun su jerarquia, el primer combo listará el nombre de las materias, la clave será X 0 0 0, solo esos, que campomaestro sea diferente a cero, segun lo que selecciones en campomaestro, enviar ese indice a la consulta de subcampo para listar todos los dependientes de campomaestro según sea su indice., y listarás: X X 0 0, asi sucesivamente, hasta llegar al nivel que requieres, y asi podras calcular la posición exacta en tu tabla jerarquica o de llaves compuestas

esto es un ejemplo de una sola tabla donde la composición de la llave esta dentro de la misma, si tienes relación en otras tablas, solo calculas la fuente de datos (otras tablas) y envias a tu delete a la tabla.
si usas TQuerys es más facil hacer que usando un TTable (al menos para mi) pero si usas un TTable, usa la función Locate (creo, casi no recuerdo como hacerlo con un TTable)

espero te sirva.
salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:claves compuestas

Publicado por Guido (18 intervenciones) el 05/09/2005 17:13:12
Gracia. Lo necesito hacer con el Locate, pero no se como usarlo cuando se trata de clavez compuestas. ya tengo los datos claves, solo quiero posicionarme con esos datos, en la tabla. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar