Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2008
Avatar de chinosoft
chinosoft chinosoft is offline
Miembro
 
Registrado: nov 2006
Posts: 28
Poder: 0
chinosoft Va por buen camino
Unhappy Key Violation no esta duplicada

Holas otra vez pidiendo ayuda...

tengo un problema de violacion de clave (Key Violation).

En un Formulario tengo un DataSource y un DBGrid y en el grid listo los
pedidos de un cliente o los pendientes.

Cuando quiero agregar un nuevo registro abro otro formulario, al cual le conencto todos los campos con el DataSource del Formulario Principal con controles DBEdits.

Todo muy lindo, pero al momento de hacer el post... CHAN error de Key violation...

La clave no se repite eso estoy seguro .

Si alguien puede saber que le ocurre al sistema se lo agradeceria

Código:
// Hago el post o eso intento
FrmPanelCliente->DSListado->DataSet->Post();
DMDatos->CDSTrabajo->ApplyUpdates(0);
// Llamo a la transaccion
 DMDatos->Grabar();
desde ya muchas gracias!
__________________
:D chinosoft - only
Responder Con Cita
  #2  
Antiguo 25-03-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.085
Poder: 19
juanelo Va por buen camino
Que tal,
Creo que tu error esta en que estas dando Post (bajas los cambios o inserciones) y luego haces un ApplyUpdates del ClientDataset que intenta nuevamente hacer las operaciones de insercion y/o modificacion.
Saludos
Responder Con Cita
  #3  
Antiguo 25-03-2008
Avatar de chinosoft
chinosoft chinosoft is offline
Miembro
 
Registrado: nov 2006
Posts: 28
Poder: 0
chinosoft Va por buen camino
Probe comentar las dos lineas de a una por ves y me sigue dando el mismo error...

luego deje el Guardar() solo y tambien me da el mismo error...

Gracias igual por la ayuda!
__________________
:D chinosoft - only
Responder Con Cita
  #4  
Antiguo 25-03-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.085
Poder: 19
juanelo Va por buen camino
Puedes indicar cual(es) es(son) los campos que conforman tus indices y si son unicos o no.
Gracias
Responder Con Cita
  #5  
Antiguo 25-03-2008
Avatar de chinosoft
chinosoft chinosoft is offline
Miembro
 
Registrado: nov 2006
Posts: 28
Poder: 0
chinosoft Va por buen camino
Tiene un solo campo clave

lo asigno en el evento OnNewRecord del ClientDataSet

Código:
DMDatos->CDSTrabajo->FieldByName("NUMERO")->AsInteger = DMDatos->getID("TRABAJO");
__________________
:D chinosoft - only
Responder Con Cita
  #6  
Antiguo 25-03-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.085
Poder: 19
juanelo Va por buen camino
Ok, eso es ent CDS, pero en la tabla de la base de datos como está conformado el o los indices y si es o son unicos.
Saludos
Responder Con Cita
  #7  
Antiguo 25-03-2008
Avatar de chinosoft
chinosoft chinosoft is offline
Miembro
 
Registrado: nov 2006
Posts: 28
Poder: 0
chinosoft Va por buen camino
En la tabla tengo a NUMERO como clave primaria y ID_CLIENTE como clave forania
__________________
:D chinosoft - only
Responder Con Cita
  #8  
Antiguo 25-03-2008
Avatar de chinosoft
chinosoft chinosoft is offline
Miembro
 
Registrado: nov 2006
Posts: 28
Poder: 0
chinosoft Va por buen camino
Ya esta! se me habia corrompido la tabla! :X la volvi a definir y anda todo de 10! gracias por el consejo del post y el ApplyUpdates.

Solo deje el ApplyUpdates y la transaccion Guardar().

Muchas gracias de enserio!
__________________
:D chinosoft - only
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
El arroz que está llegando a nuestras mesas no está autorizado para consumo humano sakuragi La Taberna 5 13-10-2013 01:07:14
Está bien esta consulta Select count? enecumene MySQL 12 30-08-2007 04:54:29
Eliminar info duplicada/tripicada en algunos campos marceloalegre SQL 5 18-07-2006 17:22:48
Violation key maravert Conexión con bases de datos 3 17-05-2006 13:00:50
access violation cuando la impresora no esta lista fabianbbg Impresión 1 06-09-2003 23:29:08


La franja horaria es GMT +2. Ahora son las 01:47:46.


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