Ir al contenido


Foto

Problema al modificar Ibdtaset


  • Por favor identifícate para responder
2 respuestas en este tema

#1 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 21 mayo 2010 - 05:20

Hola compañeros, siento seguir dando el coñazo con el tema del IbDataset, estoy usando firebird y delphi 2010, tengo una base de datos llamada Formulas que es el maestro de otra (detalle) llamada FORMULAS_DESGLOCE resulta que cuando estoy creando un nuevo registro no hay problemas, pero cuando modifico un registro del Desgloce se me modifica todos los registros con el mismo CODIGO_FORMULA, supongo que la culpa esta en el modify, pero no estoy seguro de como solucionarlo.

Imagen Enviada



delphi
  1. //SQL SelectSQL
  2.  
  3. select * from FORMULAS_DESGLOSE where CODIGO_FORMULA = :CODIGO_FORMULA
  4.  
  5.  
  6. //SQL DEL INSERT
  7.  
  8.  
  9. insert into "FORMULAS_DESGLOSE"
  10.   ("FORMULAS_DESGLOSE"."CANTIDAD", "FORMULAS_DESGLOSE"."CODIGO_FORMULA",
  11.   "FORMULAS_DESGLOSE"."CODIGO_MAT_PRIMA", "FORMULAS_DESGLOSE"."GRUPO_MAT_PRI_EQ",
  12.   "FORMULAS_DESGLOSE"."MEDIDA")
  13. values
  14.   (:"CANTIDAD", :"CODIGO_FORMULA", :"CODIGO_MAT_PRIMA", :"GRUPO_MAT_PRI_EQ",  :"MEDIDA")
  15.  
  16.  
  17. //SQL DEL MODIFY
  18. update "FORMULAS_DESGLOSE"
  19. set
  20.   "FORMULAS_DESGLOSE"."CANTIDAD" = :"CANTIDAD",
  21.   "FORMULAS_DESGLOSE"."CODIGO_FORMULA" = :"CODIGO_FORMULA",
  22.   "FORMULAS_DESGLOSE"."CODIGO_MAT_PRIMA" = :"CODIGO_MAT_PRIMA",
  23.   "FORMULAS_DESGLOSE"."GRUPO_MAT_PRI_EQ" = :"GRUPO_MAT_PRI_EQ",
  24.   "FORMULAS_DESGLOSE"."MEDIDA" = :"MEDIDA"
  25. where
  26.   "FORMULAS_DESGLOSE"."CODIGO_FORMULA" = :"OLD_CODIGO_FORMULA"




Creo que el problema esta en esta linea



delphi
  1. "FORMULAS_DESGLOSE"."CODIGO_FORMULA" = :"OLD_CODIGO_FORMULA"



Que deberia ademas controlar el CODIGO_MAT_PRIMA, pero no estoy seguro de como debería hacerlo
__________________
  • 0

#2 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 21 mayo 2010 - 06:22

Hola.

¿ La tabla de Desglose no tiene un campo de clave primaria ?. Utiliza ese campo de clave primaria en lugar de CODIGO_FORMULA.

Saludos.
  • 0

#3 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 21 mayo 2010 - 07:00

Gracias por la respuesta Marc, esta tarde lo probare en casa
  • 0




IP.Board spam blocked by CleanTalk.