Como grabar y modificar un datastore

Lo que pasa es que para mi programa estoy usando datastores y me gustaría saber como o que código debo poner al momento de grabar y modificar, amb0os son botones distintos, yo puse así, aunque no se en que me estoy equivocando que al final no me graba:
---------Botón grabar----
STRING des
integer codi,sa,smax,smin
double pv
//del dw external
codi = tab_1.tabpage_2.dw_2.object.id_prod[1] // porque 1?
des = tab_1.tabpage_2.dw_2.object.desc_prod[1]
sa = tab_1.tabpage_2.dw_2.object.stock_actual[1]
smin = tab_1.tabpage_2.dw_2.object.stock_min[1]
smax = tab_1.tabpage_2.dw_2.object.stock_max[1]
pv = double(tab_1.tabpage_2.dw_2.object.precio_venta[1])
if banact = true then
update producto
set desc_prod =:des,//de la BD =variable
stock_actual=:sa,
stock_min=:smin,
stock_max=:smax,
prec_venta=:pv
where id_prod = :codi;
messagebox("Aviso1","Se actualizo correctamente los datos")
else
insert into producto values(:codi, :des, :sa, :smin, :smax, :pv);
messagebox("Aviso2", "Se grabo correctamente")
end if
tab_1.tabpage_2.dw_2.enabled= false
pb_nuevo.enabled=true
pb_grabar.enabled=false
pb_modificar.enabled=true
pb_eliminar.enabled=true
pb_cancelar.enabled=true
-------------
Solo me permite una grabación a la vez, después de esto vuelvo a modificar al mismo producto ya no me graba los nuevos cambios o si elijo otro producto = no se graba nada, no se en que esta mal el código.
-------boton modificar-------------------
tab_1.tabpage_2.dw_2.enabled=true
tab_1.tabpage_2.dw_2.object.datawindow.readonly='no'
pb_nuevo.enabled=false
pb_grabar.enabled=true
pb_modificar.enabled=false
pb_eliminar.enabled=false
pb_cancelar.enabled=true
banact = true
--------------
Banact --> variable instanciada
Como se debe grabar el datastore correctamente, porque a mi me sale error.

1 respuesta

Respuesta
-1
Despues de cada insert o update coloca COMMIT;
Nota: en el código que me pasaste no veo ningún datastore
Ya le puse COMMIT; Y SIGUE = no se graba nada, tengo abierto el DBMS pa¡' verificar la grabacin de la data y nada no se llega a modificar nada ose no graba finalmente.
*----------
if banact = true then
update producto
set desc_prod =:des, //campo original de la BD=variable
stock_actual=:sa,
stock_min=:smin,
stock_max=:smax,
prec_venta=:pv
where id_prod = :codi;
commit;
messagebox("Aviso1","Se actualizo correctamente los datos")
else/**Para que sirve este codigo***/
insert into producto values(:codi, :des, :sa, :smin, :smax, :pv);
commit;
messagebox("Aviso2", "Se grabo correctamente")
end if
--------->
Ahora con respecto al datastore eso esta instanciado y creado en el evento open de mi ventana, ahora no se que hacer no me graba. :(
Pero en el código que muestras no veo el datastore que quieres grabar o modificar, otra cosa cual es la transacción con la cual te conectas a tu base de datos, es SQLCA o estas usando una variable en especial.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas