Actualizar Datos Urgente 2
Publicado por Edgar (87 intervenciones) el 23/02/2006 20:51:31
Mira gracias por la respuesta pero lo hago paso a paso pero no tiene ningun problema aparantemente graba pero rebiso la base y no hace ningun cambio.
Lo que te comento es que si primera vez inserto datos reviso la base los datos insertados estan ahi.
El problema sucita cuando de esos datos insertados yo quiero modificar 2 ahi graba pero reviso la base y esos datos que yo modifique no estan ahi osea no graba por eso les envio el script
por favor me pueden ayudar
// Declaracion de variables
long ll_aux,ll_fila,ll_numfildestino,ll_contador
string ls_codper,ls_codpro,ls_codpla,ls_codact
// Creacion de Datastore
datastore lds_destino,lds_destino_actualiza
lds_destino = create datastore
lds_destino_actualiza = create datastore
lds_destino.dataobject ='d_pro_m_evaluacion_actividad'
lds_destino_actualiza.dataobject = 'd_pro_m_evaluacion_actividad'
lds_destino.settransobject(sqlca)
lds_destino_actualiza.settransobject (sqlca)
//Lectura del campo pev_codper de que se encuentra en el dw_mandat
ls_codper=adw_mandat.GetitemString(adw_mandat.getrow(),'pev_codper')
for ll_aux = 1 to adw_boton.rowcount()
ls_codact = adw_boton.GetitemString(ll_aux,'apr_codact')
ls_codpro = adw_boton.GetitemString(ll_aux,'pit_codpro')
ls_codpla = adw_boton.GetitemString(ll_aux,'pop_codpla')
// Busco si existe informacion
ll_numfildestino=lds_destino_actualiza.Retrieve(ls_codper)
if sqlca.sqlcode < 0 then
return "Error al Recuperar los Datos " + sqlca.sqlerrtext
end if
choose case ll_numfildestino
case 0
//No existe información, ingresar un nuevo registro
ll_fila = lds_destino.insertrow(0)
lds_destino.SetItem(ll_fila,'apr_codact',adw_boton.GetItemString(ll_aux,'apr_codact'))
lds_destino.SetItem(ll_fila,'pit_codpro',adw_boton.GetItemString(ll_aux,'pit_codpro'))
lds_destino.SetItem(ll_fila,'pop_codpla',adw_boton.GetItemString(ll_aux,'pop_codpla'))
lds_destino.SetItem(ll_fila,'eac_valmin',adw_boton.GetItemNumber(ll_aux,'eac_valmin'))
lds_destino.Setitem(ll_fila,'pev_codper',ls_codper)
lds_destino.Setitem(ll_fila,'codusu',gs_codusu)
lds_destino.Setitem(ll_fila,'fecult',today())
lds_destino.Setitem(ll_fila,'estado','VIG')
lds_destino.Setitem(ll_fila,'status','I')
case 1 to ll_numfildestino
for ll_contador = 1 to ll_numfildestino
//existe información en el registro y actualizo
lds_destino_actualiza.SetItem(ll_contador,'eac_valmin',adw_boton.GetItemNumberll_aux,'eac_valmin'))
lds_destino_actualiza.Setitem(ll_contador,'codusu',gs_codusu)
lds_destino_actualiza.Setitem(ll_contador,'fecult',today())
lds_destino_actualiza.Setitem(ll_contador,'status','M')
if lds_destino_actualiza.Update () <> 1 then
rollback using sqlca;
if sqlca.sqlcode < 0 then
return "Error al Actualizar los Datos" + sqlca.sqlerrtext
else
commit using sqlca;
end if
end if
next
end choose
next
If lds_destino.Update () <> 1 Then
Rollback using sqlca;
Return "Error al actualizar los datos "
else
commit using sqlca;
End if
return ""
Lo que te comento es que si primera vez inserto datos reviso la base los datos insertados estan ahi.
El problema sucita cuando de esos datos insertados yo quiero modificar 2 ahi graba pero reviso la base y esos datos que yo modifique no estan ahi osea no graba por eso les envio el script
por favor me pueden ayudar
// Declaracion de variables
long ll_aux,ll_fila,ll_numfildestino,ll_contador
string ls_codper,ls_codpro,ls_codpla,ls_codact
// Creacion de Datastore
datastore lds_destino,lds_destino_actualiza
lds_destino = create datastore
lds_destino_actualiza = create datastore
lds_destino.dataobject ='d_pro_m_evaluacion_actividad'
lds_destino_actualiza.dataobject = 'd_pro_m_evaluacion_actividad'
lds_destino.settransobject(sqlca)
lds_destino_actualiza.settransobject (sqlca)
//Lectura del campo pev_codper de que se encuentra en el dw_mandat
ls_codper=adw_mandat.GetitemString(adw_mandat.getrow(),'pev_codper')
for ll_aux = 1 to adw_boton.rowcount()
ls_codact = adw_boton.GetitemString(ll_aux,'apr_codact')
ls_codpro = adw_boton.GetitemString(ll_aux,'pit_codpro')
ls_codpla = adw_boton.GetitemString(ll_aux,'pop_codpla')
// Busco si existe informacion
ll_numfildestino=lds_destino_actualiza.Retrieve(ls_codper)
if sqlca.sqlcode < 0 then
return "Error al Recuperar los Datos " + sqlca.sqlerrtext
end if
choose case ll_numfildestino
case 0
//No existe información, ingresar un nuevo registro
ll_fila = lds_destino.insertrow(0)
lds_destino.SetItem(ll_fila,'apr_codact',adw_boton.GetItemString(ll_aux,'apr_codact'))
lds_destino.SetItem(ll_fila,'pit_codpro',adw_boton.GetItemString(ll_aux,'pit_codpro'))
lds_destino.SetItem(ll_fila,'pop_codpla',adw_boton.GetItemString(ll_aux,'pop_codpla'))
lds_destino.SetItem(ll_fila,'eac_valmin',adw_boton.GetItemNumber(ll_aux,'eac_valmin'))
lds_destino.Setitem(ll_fila,'pev_codper',ls_codper)
lds_destino.Setitem(ll_fila,'codusu',gs_codusu)
lds_destino.Setitem(ll_fila,'fecult',today())
lds_destino.Setitem(ll_fila,'estado','VIG')
lds_destino.Setitem(ll_fila,'status','I')
case 1 to ll_numfildestino
for ll_contador = 1 to ll_numfildestino
//existe información en el registro y actualizo
lds_destino_actualiza.SetItem(ll_contador,'eac_valmin',adw_boton.GetItemNumberll_aux,'eac_valmin'))
lds_destino_actualiza.Setitem(ll_contador,'codusu',gs_codusu)
lds_destino_actualiza.Setitem(ll_contador,'fecult',today())
lds_destino_actualiza.Setitem(ll_contador,'status','M')
if lds_destino_actualiza.Update () <> 1 then
rollback using sqlca;
if sqlca.sqlcode < 0 then
return "Error al Actualizar los Datos" + sqlca.sqlerrtext
else
commit using sqlca;
end if
end if
next
end choose
next
If lds_destino.Update () <> 1 Then
Rollback using sqlca;
Return "Error al actualizar los datos "
else
commit using sqlca;
End if
return ""
Valora esta pregunta
0