problemas al grabar urgente
Publicado por carlos (25 intervenciones) el 09/01/2008 22:35:01
urgente
tengo un aplicacion en pb 7.0 , en el boton guardar , con una select escogo el valor maximo del codigo y a ese incremento 1, y sucede que de vez en cuando me salta de secuenca.
Ej.
2008200
2008202
entonces el 2008201 no me guarda favor ni alguien me ayuda, ya que esta esta sucendiendo unas 3 veces diariamente, tengo 30.000 registros en dicha tabla
el codigo es el siguiente
int rtn=0
double cer,bb=0
SELECT now() INTO :fecha FROM sys.dummy;
p_2.enabled=false
codigo1=0
cer=dw_1.GetItemNumber(dw_1.Getrow(),"pre_codigo")
dw_2.SetFocus() //Pone el foco en la DW
dw_2.SetColumn("cer_fecha_registro")
dw_2.SetText(String(st_8.text))
dw_2.SetFocus() //Pone el foco en la DW
dw_2.SetColumn("cer_codigo")
select max("cer_codigo") into :bb from certifcado;//Hace corriente la columna
bb=bb+1
dw_2.SetText(String(bb))
CONNECT USING SQLCA;
rtn=dw_2.update()
codigo1=dw_2.GetItemNumber(dw_2.Getrow(),"cer_codigo")
if rtn=1 then
COMMIT USING SQLCA;
UPDATE prevencion
SET pre_permiso = :codigo1
WHERE prevencion.pre_codigo = :cer
using sqlca;
insert into auditoria (aud_usuario,aud_proceso,aud_fecha,aud_codigo)values (:login,'GRABACION DE CERTIFICADOS',:fecha,:codigo1);
MessageBox("REGISTRO", "SE GUARDO CORRECTAMENTE");
COMMIT;
ELSE
ROLLBACK USING SQLCA;
MessageBox("ERROR!", "ADVERTENCIA NO SE GRABARON LOS DATOS");
END IF
bb=0
p_1.enabled=true
tengo un aplicacion en pb 7.0 , en el boton guardar , con una select escogo el valor maximo del codigo y a ese incremento 1, y sucede que de vez en cuando me salta de secuenca.
Ej.
2008200
2008202
entonces el 2008201 no me guarda favor ni alguien me ayuda, ya que esta esta sucendiendo unas 3 veces diariamente, tengo 30.000 registros en dicha tabla
el codigo es el siguiente
int rtn=0
double cer,bb=0
SELECT now() INTO :fecha FROM sys.dummy;
p_2.enabled=false
codigo1=0
cer=dw_1.GetItemNumber(dw_1.Getrow(),"pre_codigo")
dw_2.SetFocus() //Pone el foco en la DW
dw_2.SetColumn("cer_fecha_registro")
dw_2.SetText(String(st_8.text))
dw_2.SetFocus() //Pone el foco en la DW
dw_2.SetColumn("cer_codigo")
select max("cer_codigo") into :bb from certifcado;//Hace corriente la columna
bb=bb+1
dw_2.SetText(String(bb))
CONNECT USING SQLCA;
rtn=dw_2.update()
codigo1=dw_2.GetItemNumber(dw_2.Getrow(),"cer_codigo")
if rtn=1 then
COMMIT USING SQLCA;
UPDATE prevencion
SET pre_permiso = :codigo1
WHERE prevencion.pre_codigo = :cer
using sqlca;
insert into auditoria (aud_usuario,aud_proceso,aud_fecha,aud_codigo)values (:login,'GRABACION DE CERTIFICADOS',:fecha,:codigo1);
MessageBox("REGISTRO", "SE GUARDO CORRECTAMENTE");
COMMIT;
ELSE
ROLLBACK USING SQLCA;
MessageBox("ERROR!", "ADVERTENCIA NO SE GRABARON LOS DATOS");
END IF
bb=0
p_1.enabled=true
Valora esta pregunta
0