Visual Basic - COMMIT ADO

Life is soft - evento anual de software empresarial
 
Vista:

COMMIT ADO

Publicado por Jose (1 intervención) el 26/01/2004 10:18:30
Tengo una conexión a Oracle de la siguiente manera:

servidor = "SERVER= " & bd & ";"
usuapass = "UID=" & usu & ";" & "PWD= " & pass & ";"

Set conexion = New ADODB.Connection
With conexion
.ConnectionTimeout = 3
.CursorLocation = adUseClient
End With
strConnection = servidor & "DRIVER={Microsoft ODBC for ORACLE};" & usuapass
conexion.Open strConnection

Y una sentencia ADO de actualización similar a:
Dim cmd As ADODB.Command
Dim consulta As String
Dim respuesta

consulta = "update datospers set swbaja = 1 where memnum = '" & Text1(0).Text & "'"

respuesta = MsgBox("Se va a proceder a dar de baja el MEMNUM " & Text1(0).Text, 1)
If respuesta = 1 Then
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = Main.conexion
cmd.CommandText = consulta
cmd.CommandType = adCmdText

cmd.Execute
MsgBox "¡¡Baja realizada!!"
End If

Me gustaría saber ¿DONDE SE INDICA QUE HAGA COMMIT o NO LO HAGA?. En un principio, yo quiero que sea automatico... pero ¿de que manera lo puedo controlar?.

Mi idea es que esra haciendo commit, ya que una vez cerrada la sesion... los cambios continuan.
Gracias.
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 ADO

Publicado por Ayudante (349 intervenciones) el 31/01/2004 15:33:37
Si no especificas explícitamente que quieres iniciar una transacción, entonces ADO commitea automáticamente, si quieres controlar cualquier problema, claro el commiteo lo realiza el objeto "connection", mediante éste puedes ejecutar varios comandos de ADO, y hasta que todo termine envias al objeto de conexión el CommitTrans.

Asumiendo que la conexión que tienes es del tipo objeto:

Main.conexion.begintrans
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = Main.conexion
cmd.CommandText = consulta
cmd.CommandType = adCmdText
Main.conexion.committrans
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