Programación General > Visual Basic 6.0 e inferiores

 Transacciones

<< < (2/2)

lencho:
en realidad eso se llama TRANSACCIONES como lo mencionaste en un principio.
El uso de Transacciones en SQL Server se utilizan a traves de los comandos: Begin Transaction, RollBack Transaction, Commint Transaction
El uso de Transacciones en ADO.NETes utilizando los metodos BeginTransaction del objeto Connection

No se acerca del uso de las transacciones en Visual Basic.

BYTE.

ElNapster:
A claro con SQL estamos todo bien  B) , pero lo que quiero es con VB 6.0 , pero estoy investigando..... :comp:

josemns:
Mira Puedes usar el metodo que yo uso con ADO bajo VB6
Primero tienes que importar las referencias ActiveX Data Object 2.6 o alguna otra yo uso esa

despues haces la conexion y lo pones en General o si la vas a usarla en todo el programa te sugiero en un modulo asi

Dim cn as new ADO.connection
cn.open "DSN=BASE" --> Yo uso siempre una conexion X medio del ODBC de Windows

Luego ubicas el bloque de codigo que va a contener un SQL ya sea Insert, Update o delete como por ejemplo:

Private sub Ingresar()

 On error goto Linea_Error

 Dim sql
 cn.BeginTransac --> no c si esta bien escrito, pero VB deberia mostrarte la lista procedimentos y metodos que dispone el objeto

 sql = "Insert into TABLA values ("01","CArlos")"
 cn.Execute(SQL)
 sql = "Insert into TABLA values ("02","Pedro")"
 cn.Execute(SQL)
 
 msgbox "Ingreso Completado"
 cn.CommitTransac --> Esto hace si todo salio bien

 Exit sub

 Linea_Error:
 msgbox "Error en el Ingreso"
 cn.RollBackTransac --> Si algo salio mal en la base no se inserta nada asi alla pasado por el primer Insert

end sub

Recuerda siempre lo siguiente:
1) Una transaccion debe cumplir con las propiedades ACID (Atomicidad, consistencia, Aislamiento y durabilidad)
2) Siempre que inicies una transaccion (BeginTransac) siempre debe terminar con (CommitTransac) o un (RollBackTransac) no mas no menos, siempre se ponen los tres
3) No puedes Iniciar una Transaccion en un procedimiento y terminarla en otro procedimiento o funcion debe ser en el mismo bloque de codigo si deseas abacar mas codigo inicias otra transaccion

Espero te sirvan esto consejos
Ojo: El codigo me lo invente en el momento
Cahuuuuuuu

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa