![]() |
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 :eek::eek::eek:. Si alguien puede saber que le ocurre al sistema se lo agradeceria Código:
// Hago el post o eso intento |
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 |
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! |
Puedes indicar cual(es) es(son) los campos que conforman tus indices y si son unicos o no.
Gracias |
Tiene un solo campo clave
lo asigno en el evento OnNewRecord del ClientDataSet Código:
DMDatos->CDSTrabajo->FieldByName("NUMERO")->AsInteger = DMDatos->getID("TRABAJO"); |
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 |
En la tabla tengo a NUMERO como clave primaria y ID_CLIENTE como clave forania
|
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! |
| La franja horaria es GMT +2. Ahora son las 14:01:29. |
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