Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2006
poniente poniente is offline
Registrado
 
Registrado: ene 2006
Posts: 9
Poder: 0
poniente Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 01-02-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
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.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 01-02-2006
poniente poniente is offline
Registrado
 
Registrado: ene 2006
Posts: 9
Poder: 0
poniente Va por buen camino
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.
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
maestro/detalle, modificar ecfisa Tablas planas 6 30-12-2005 22:22:10
modificar clave primaria en interbase manolop Conexión con bases de datos 0 24-06-2005 10:31:42
Modificar DBGrid jsanchez OOP 3 04-06-2005 21:11:48
Como modificar un registro? Telemaco Conexión con bases de datos 4 20-02-2004 16:45:48
Modificar una gráfica por código hogol Servers 0 02-12-2003 21:55:13


La franja horaria es GMT +2. Ahora son las 22:32:29.


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