Power Builder - Commit y Rollback

 
Vista:

Commit y Rollback

Publicado por Jhonatan (8 intervenciones) el 05/12/2003 05:06:20
Hola a todos
S.O.S
quisiera saber si alguien me puede ayudar con un problema que tengo
solo el uso de commit y el rollback
actualmente uso power builder 7.0 y MySql y el problema es que cuando ocurre un error y aplico el rollback no deshace los cambios hechos en otras palabras actualiza la informacion haci haiga ocurrido un error y no se como puede aplicar el rollback o de repente existe otra funcion que me ayude

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Commit y Rollback

Publicado por Jorge (900 intervenciones) el 05/12/2003 18:09:16
En el boton de Guardar o cuando efectues el Update

If dw_1.Update () = 1 Then
COMMIT Using SQLCA;
Else
ROLLBACK Using SQLCA;
MessageBox("Error", "No se Actualizo la Base")
End If
- Tambien puedes utilizar el evento dberror
de acuerdo a los codigos de retorno de tu motor

ll_Error_Nbr = This.DBErrorCode( )

IF ll_Error_Nbr = -193 THEN
MessageBox("Alicuotas","Provincia Existente ", &
+StopSign!)
This.SetActionCode(1)
else
.......................

Espero te ayude

Suerte

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Commit y Rollback

Publicado por Malefrax (10 intervenciones) el 05/12/2003 18:48:12
Solo recuerda poner el Autocommit a False antes de hacer lo anterior
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Commit y Rollback

Publicado por Ismael (38 intervenciones) el 06/12/2003 00:38:58
tengo entendido q MySql no soporta transacciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Commit y Rollback

Publicado por Oscar (1178 intervenciones) el 06/12/2003 03:00:44
A partir de la versión 4.1, ya soporta transacciones, subconsultas y otras características más. Según el sitio oficial de MySql.

http://www.mysql.com/press/release_2003_05.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Commit y Rollback

Publicado por Enriquesco (13 intervenciones) el 27/02/2018 21:35:24
Mi sugerencia es la siguiente: En la base de datos se configura la conexión para que autocommit sea "true":

1
SQLCA.AutoCommit 	= TRUE

Donde se requiera grabar tan solo con una instrucción, no requieres hacer referencia al COMMIT, Pero cuando en un proceso se van a realizar varias instrucciones de grabado sobre la base de datos, este block de instrucción tienen mas o menos esta forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
integer li_resp, ls_error
sqlca.autocommit = false
 
// se hace un update a datawindow:
if dw_1.update() <> 1 then
    ls_error = sqlca.sqlerrtext
    rollback;
    sqlca.autocommit = true      // Se desbloquean las tablas que pudieran estar bloqueadas.
    messagebox("Aviso", "Surgio un error: "+ls_error)
    return
end if
 
// Se hace un insert.
insert .............
using sqlca;
 
if sqlca.sqlcode <> 0 then
    ls_error = sqlca.sqlerrtext
    rollback;
    sqlca.autocommit = true      // Se desbloquean las tablas que pudieran estar bloqueadas.
    messagebox("Aviso", "Surgio un error: "+ls_error)
    return
end if
 
/// Finaliza el block de instrucciones que involucran transacciones.
commit;
sqlca.autocommit = true      // Si el autocommit = true no se llega a ejecutar, Las tablas quedaran bloqueadas.

ESPERO TE SIRVA. SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar