FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Key violation
Que tal:
Espero me puedan ayudar gracias Tengo una aplicacion aqui atorada, lo que pasa es que cuando hago un post. y si este tiene llave duplicada, como es que pueda cancelar el evento de ese boton a la hora de guardar y regresarme al dato que esta duplicado para modificarlo y este ya me permita guardarlo, si lo atrapo pero no me regresa y me congela la tabla en modo de insercion, esta son una lineas de codigo que espeor y esten bien y me puedan decir por que no se cancela en evento OnClick de mi boton Begin DM3.TCotizacion.Append; DM3.TCotizacionCodigoCot.AsString:= RzEdit9.Text; DM3.TCotizacionFecha.AsDateTime:= DateTimePicker1.Date; DM3.TCotizacionCodigoCli.AsInteger:= StrToInt(RzEdit1.Text); try DM3.TCotizacion.Post; except on e:Exception do raise exception.create('No se puede guardar La Cotización ya Existe'+#13+#13+ e.message); RzSave.SetFocus; end; Espero me puedan ayudar gracias Saludos |
#2
|
||||
|
||||
Lo más importante es que nos digas que tipo de tablas estás utilizando y con que te conectas a las mismas.
Una solución que puede funcionar con casi todas, es utilizar para el campo clave un control no DbAware, por ejemplo un Tedit, y antes de intentar el Post, lanzar una búsqueda contra la tabla en cuestión sino se encuentran registros pasas el valor del Tedit a la tabla y haces el post. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Cita:
Perdon es que soy medio sope Saludos |
#4
|
||||
|
||||
Bueno pues vamos con una solución más sencilla.
Veo que tienes un DataModulo y en el un componente Ttable al que conectas la tabla en cuestión y luego un TadataSource para poder visualizar los datos. Bueno es necesario un segundo Ttable conectado a la misma tabla pongamos que el primero el que ya tenias se llama Table1 y este segundo que no necesita Tdatasource puesto que solamente se va a utilizar par buscar. En el evento OnExit del campo que no quieres repetir:
Fijate que buscamos con el Table2, porque con el 1 al buscar moveríamos el puntero y provaríamos involuntariamente un post y por lo tanto una excepción de violación de clave. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
|
|