Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Providers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-12-2012
Ignacio Gentile Ignacio Gentile is offline
Miembro
NULL
 
Registrado: may 2011
Posts: 15
Poder: 0
Ignacio Gentile Va por buen camino
Problema con ApplyUpdate en relación maestro/detalle

Tengo una relación maestro detalle entre la tabla clientes y la tabla lista de precio. Para ello utilizo los siguientes componentes:
  • dtsCliente (TAdoDataSet) --> Tiene asignada la consulta que me trae los registros de la tabla clientes
  • dtsListaPrecioCliente (TAdoDataSet) --> Tiene creado un parámetro (id_cliente). Trae los registros de la tabla lista_precio_clientes que cumplen con la igualdad de id_cliente
  • dtpCliente (TDataSetProvider) --> Asociado al componente dtsCliente
  • cdsCliente (TClientDataSet) --> Asociado al componente anterior.
  • cdsListaPrecioCliente (TClientDataSet) --> Asociado al componente cdsCliente mediante dataSetField=cdsClientedstListaPrecioCliente
  • dsCliente (TDataSource) --> Asociado a dtsCliente.

El primer problema que se me presenta es que al hacer un insert sobre cdsCliente no me autoincrementa el valor de la clave (id_cliente). Para este caso probé poner la propiedad AutoGenerateValue del campo correspondiente en TRUE pero no funciona. También he probado en asignar yo el valor desde una grilla y en dicho caso anda bien (al hacer un insert en el detalle, asigna el valor ingresado a id_cliente en la tabla detalle).
Todo funciona bien hasta que hago el applyUpdate. En este caso sale un error de que no se permite el valor NULL para id_cliente (en caso de que no le asigne manualmente dicho código) o el error de que el valor de id_cliente para la tabla lista_precio_cliente no existe en la tabla Clientes (en caso de asignar manualmente el id desde la grilla).

Otra cosa que he probado es poner pfInKey = True en la propiedad ProviderFlags de los campos que son claves.

No sé por donde probar ya que soy nuevo en esto de trabajar en capas y estoy haciendo mi primera aplicación de prueba!

Gracias por la ayuda!
Responder Con Cita
  #2  
Antiguo 26-12-2012
Rockin Rockin is offline
Miembro
 
Registrado: may 2003
Ubicación: Málaga
Posts: 264
Poder: 21
Rockin Va por buen camino
Deberás crear el campo autoincrement en la Base de Datos, para que lo genera al insertarlo automáticamente.

Saludos.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Relacion Maestro-Detalle sleep25000 Varios 3 23-06-2011 10:05:15
Saber si el DBGrid (Detalle) esta Vacio en Relacion Maestro/Detalle Adrian Murua Conexión con bases de datos 2 03-01-2009 13:48:46
Problema con relación maestro-detalle en ClientDataSet David Conexión con bases de datos 3 11-01-2008 11:02:59
Respecto a la relacion maestro detalle detalle ilichhernandez Conexión con bases de datos 0 15-05-2007 18:13:54
Problema relacion maestro-detalle (Nested Dataset) Toni Conexión con bases de datos 10 19-05-2004 16:38:56


La franja horaria es GMT +2. Ahora son las 09:39:36.


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