Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-05-2010
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Problema al modificar Ibdtaset

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.



Código Delphi [-]
//SQL SelectSQL

select * from FORMULAS_DESGLOSE where CODIGO_FORMULA = :CODIGO_FORMULA


//SQL DEL INSERT


insert into "FORMULAS_DESGLOSE"
  ("FORMULAS_DESGLOSE"."CANTIDAD", "FORMULAS_DESGLOSE"."CODIGO_FORMULA", 
   "FORMULAS_DESGLOSE"."CODIGO_MAT_PRIMA", "FORMULAS_DESGLOSE"."GRUPO_MAT_PRI_EQ", 
   "FORMULAS_DESGLOSE"."MEDIDA")
values
  (:"CANTIDAD", :"CODIGO_FORMULA", :"CODIGO_MAT_PRIMA", :"GRUPO_MAT_PRI_EQ",   :"MEDIDA")


//SQL DEL MODIFY
update "FORMULAS_DESGLOSE"
set
  "FORMULAS_DESGLOSE"."CANTIDAD" = :"CANTIDAD",
  "FORMULAS_DESGLOSE"."CODIGO_FORMULA" = :"CODIGO_FORMULA",
  "FORMULAS_DESGLOSE"."CODIGO_MAT_PRIMA" = :"CODIGO_MAT_PRIMA",
  "FORMULAS_DESGLOSE"."GRUPO_MAT_PRI_EQ" = :"GRUPO_MAT_PRI_EQ",
  "FORMULAS_DESGLOSE"."MEDIDA" = :"MEDIDA"
where
  "FORMULAS_DESGLOSE"."CODIGO_FORMULA" = :"OLD_CODIGO_FORMULA"

Creo que el problema esta en esta linea

Código Delphi [-]
 "FORMULAS_DESGLOSE"."CODIGO_FORMULA" = :"OLD_CODIGO_FORMULA"
Que deberia ademas controlar el CODIGO_MAT_PRIMA, pero no estoy seguro de como debería hacerlo
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #2  
Antiguo 21-05-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Deberás diferenciar cada línea y pasarle algún parámetro que la haga identificable y única.
No sé si tienes algún campo "LineaNumero" o algo así que la identifique, pero en todo caso tendrás que modificar el update poniendo todos los campos que permitan identificar la línea sin que pueda afectar a otras, aunque para ello tengas que especificar todos los campos como parámetros, algo así:
Código SQL [-]
update formulas_desglose
set cantidad = :cantidad,
codigo_formula = _:codigo_formula,
codigo_mat_prima = :codigo_mat_prima,
grupo_mat_pri_eq = :grupo_mat_pri_eq,
medida = :medida
where cantidad = : old_cantidad
and codigo_formula = : old_codigo_formula
and codigo_mat_prima = : old_codigo_mat_prima
and grupo_mat_pri_eq = : old_grupo_mat_pri_eq
and medida = : old_medida

Lo idóneo es que tengas un campo LINEA además del que hace referencia a la cabecera, y que ese campo sea la primary key: CodigoCabecera+Linea, sería totalmente identificable sin error ni repetición.
Responder Con Cita
  #3  
Antiguo 21-05-2010
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Gracias por la respuesta Casimiro Notevi, esta tarde lo probare en casa
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
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
problema bdctrlgrid despues de modificar amo3k OOP 2 14-02-2010 17:26:40
Problema con Modificar Tabla desde Delphi Memo6015 SQL 6 16-04-2009 01:56:28
Problema al modificar en una BD poniente Conexión con bases de datos 1 03-02-2006 14:33:43
Problema al modificar y consultar tabla suppergus Tablas planas 2 17-08-2005 00:55:45
Problema el insertar/modificar registro ing_alsaac Conexión con bases de datos 0 29-02-2004 09:18:15


La franja horaria es GMT +2. Ahora son las 08:52:57.


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