Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2003
norberto_larios norberto_larios is offline
Miembro
 
Registrado: ago 2003
Ubicación: Mexico, D.F.
Posts: 15
Poder: 0
norberto_larios Va por buen camino
Question Validar Primary Key Compuesta ??

Tengo

Una tabla de almacenes
CREATE TABLE ALMACENES (
ID_ALMACEN INTEGER NOT NULL,
ETC….
);

Una tabla de productos
CREATE TABLE MED_MATCUR (
ID_PRODUCTO INTEGER NOT NULL,
ETC….
);

Una tabla de Productos x almacen
CREATE TABLE CATXALM (
ID_ALMACEN INTEGER NOT NULL,
ID_PRODUCTO INTEGER NOT NULL,
STOCK_MIN INTEGER NOT NULL,
STOCK_MAX INTEGER NOT NULL,
EXISTENCIA INTEGER,
REV_CADUCIDAD DATE
);

Donde la llave Prinipal esta formada por ID_ALMACEN,ID_PRODUCTO

ALTER TABLE CATXALM ADD CONSTRAINT PK_CATXALM PRIMARY KEY (ID_ALMACEN, ID_PRODUCTO);

Entonces yo antes de crear un Nuevo registro en la tabla de Productos por almacen quiero verificar si éste ya existe. Por ejemplo quiero dar de alta el producto 5 del almacen 3.

hago lo siguiente con delphi
Var
v_llave: string;
begin
// concateno los id correspondientes convertidos en strings
v_llave:=inttostr(DM01.SD_AlmacenesID_ALMACEN.Value)+inttostr(DM01.SD_Med_MatCurID_PRODUCTO.Value);
ShowMessage(v_llave);
// utilizo el FindKey para verificar, pero esto no me esta funcionando,seguro estoy mal
// ¿???? Como se debe hacer
if not DM01.SD_CatXAlm.FindKey([v_llave]) then
begin
DM01.SD_CatxAlm.Insert;
DM01.SD_CatXAlmID_PRODUCTO.Value := DM01.SD_Med_MatCurID_PRODUCTO.Value;
DM01.SD_CatXAlmSTOCK_MIN.Value := 0;
DM01.SD_CatXAlmSTOCK_MAX.Value := 0;
end;
end;

pudieran ayudarme???
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:21:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi