Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   key violation al modificar (https://www.clubdelphi.com/foros/showthread.php?t=29774)

poniente 01-02-2006 12:49:00

key violation al modificar
 
Hola

Estoy realizando una aplicacion para un desglose de articulo.
Tengo una base de datos paradox, una tabla que tiene un clave primaria compuesta por CodArtDesg,codArt,alto,ancho y largo.
El problema viene cuando realizo la modificacion, puedo modificar estos campos sin problemas, pero no puedo modificar el precio, unidades, etc.
Lo que hago es lo siguiente:

Tengo un DBGRID que me muestra los articulos que corresponden al desglose, y en el evento del doble click relleno unos Edits con los campos de la tabla.
Luego tengo un boton que me realiza el modificado y hay este codigo:

data.Desglose.Edit;
data.Desglose.FieldByName('RefArt').AsString:=Edit1.Text;
data.Desglose.FieldByName('DescArt').AsString:=Edit2.Text;
data.Desglose.FieldByName('Largo').AsString:=Edit3.Text;
data.Desglose.FieldByName('Ancho').AsString:=Edit4.Text;
data.Desglose.FieldByName('Alto').AsString:=Edit5.Text;
data.Desglose.FieldByName('Unidades').AsString:=Edit6.Text;
data.Desglose.FieldByName('Tarifa').AsString:=Edit7.Text;
data.Desglose.FieldByName('Precio').AsString:=Edit8.Text;
data.Desglose.FieldByName('Total').AsInteger:=Edit9.Text;
data.Desglose.FieldByName('Observaciones').AsString:=Edit10.Text;
data.Desglose.Post;

Me da un key violation al hacer el post, pero solo cuando modifico los campos que no forman parte de la clave primaria.
Espero que me podais ayudar en lo que sea.
Gracias

marcoszorrilla 01-02-2006 13:22:33

Pues el error esta bien claro, como tienes una clave compuesta y modificas campos que forman parte de esta clave, lo que ocurre que el nuevo conjunto que forma la clave ya está en la tabla y por esto te da el error.

Un Saludo.

poniente 01-02-2006 16:18:11

key violation
 
Pero si yo modifico solo los campos que NO forman parte de la clave primaria compuesta. El registro sigue siendo el mismo, no estoy insertando uno nuevo. No lo entiendo.


La franja horaria es GMT +2. Ahora son las 06:04:05.

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