FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como controlo el doble borrado ?
Tengo el siguiente sql en un adodataset
select M.Documento, M.Orden, M.ClaveProducto, M.CostoUnitario, M.Cantidad, M.Precio, M.DescuentoInd, M.recargoInd, M.Importe, M.Nota01, M.Nota02, Eq.DescripcionEspanol, Eq.DescripcionIngles, Eq.Modelo From Cot_CotizacionDet M Join Equipos Eq on eq.clave = m.claveproducto WHERE M.Documento = ocumento ORDER BY M.ORDEN con el agrego, modifico y consulto los registros correctamente. Es bueno señalar que los campos descripcionEspanol y descripcion ingles son campos memos, traté de hacer un lockup pero no es posible con campos memos. Pues, siguiendo con la idea, el punto es que ese adodataset es un adodatasetDetalle, de un formulario que le incluyo registros de cotizaciones. puedo agregarle registro a la cotizacion pero si borro un registro de esta, me borra el registro asociado en un maestro de equipos que tengo donde tengo las descripciones en ingles y en español. Ayuuda... me urge una respuesta rapida a este problema. |
#2
|
||||
|
||||
Buenas!
En lugar de borrar sobre este dataset puedes crear un query de borrado: delete from cotizaciones_det where clave = ...... Y ejecutarlo aparte de la select que tienes Un saludo Edu |
#3
|
||||
|
||||
Cita:
Es la única explicación que se me ocurre para que se borre un registro sólo (sin que tú hayas programado nada).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
Estimado Neftali, me gustaria saber a que te refieres con el borrado en cascada en la base de datos. Me refiero a si hablas de una propiedad de la base de datos que se puede manejar o algun triggers o procedimiento que produce este efecto.
|
#5
|
||||
|
||||
Justo a eso me refería. A que si tú no borras el registro, tal vez se esté borrando desde la Base de Datos como tú bien dices: Borrados en casacada o triggers.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
||||
|
||||
El borrado en cascada no es un trigger en su esencia, aunque se comporte como tal. Al definir una relacion entre dos tablas, especificamente una llave foranea entre campos de dos tablas, puedes especificar que accion tomar en caso de que el campo de la tabla maestro (o el registro como tal) se modifique o elimine.
Entre esas acciones estan: actualizar el registro detalle, eliminar el registro detalle (en caso de tratarse de un delete del registro maestro) o cambiar el valor del campo en el detalle por un valor 'por defecto'. Algo asi como que si eliminas el registro maestro, el campo claveid de la tabla detalle que antes tenia el valor claveid de la tabla maestro tenga un valor de '0', o cualquier otro valor.
__________________
Héctor Geraldino Software Engineer |
#7
|
|||
|
|||
Estimado Neftali, me gustaria saber a que te refieres con el borrado en cascada en la base de datos. Me refiero a si hablas de una propiedad de la base de datos que se puede manejar o algun triggers o procedimiento que produce este efecto.
|
#8
|
|||
|
|||
Estimado hector, me puedes decir como hacerlo desde un adodataset, puesto que no he podido localizar esas propiedades que hablas.
|
#9
|
||||
|
||||
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#10
|
|||
|
|||
Agradezco a todos su colaboracion, resolví el problema borrando desde otro query como varios habian sugerido, aunque , me gustaria conocer mas sobre el borrado en cascada...
Gracias... muchas gracias |
#11
|
||||
|
||||
Si has solucionado el problema con otro query como te sugerí, entonces el problema no estaba en el borrado en cascada, sino en que estabas borrando sobre un query en el que había una join.
Un saludo Edu |
|
|
|