conexion a BD

20/04/2006 - 13:48 por Piolin Net | Informe spam
Alo!

Tengo una duda existencial ...

¿Que es mejor, abrir un recordset con el objeto conexion o hacerlo con el
objeto command intermedio?

osea,
1.- con el objeto conexion:

rs.open "sp_procedimiento_almacenado", objeto_conexion, adOpenStatic,
adLockOptimistic

2.- con el objeto commad:

With objeto_commad
.CommandText = "sp_procedimiento_almacenado"
.CommandType = adCmdStoredProc
.ActiveConnection = objeto_conexion
.Parameters.Refresh
End With

rs.Open objeto_commad, , adOpenStatic, adLockOptimistic

* En cuanto a velocidad, gestion de recursos y bla bla.

Gracias.

Preguntas similare

Leer las respuestas

#1 Piolin Net
20/04/2006 - 15:41 | Informe spam
Osea,

¿con la opcion 1 la tabla se queda bloqueada hasta que cierras el recordset?

Gracias.

"Matías Iacono" escribió:

Personalmente prefiero la segnda opcion.

Ya que se podría decir que es una forma de trabjo desconectado.

O sea, abres la base de datos, ejecutas la consulta y retornas un set de
datos.

Esto hace que la tabla no quede bloqueada, y puedas trabajar con el
recordset sin estar conectado directamente a la base de datos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Piolin Net" escribió en el mensaje
news:
> Alo!
>
> Tengo una duda existencial ...
>
> ¿Que es mejor, abrir un recordset con el objeto conexion o hacerlo con el
> objeto command intermedio?
>
> osea,
> 1.- con el objeto conexion:
>
> rs.open "sp_procedimiento_almacenado", objeto_conexion, adOpenStatic,
> adLockOptimistic
>
> 2.- con el objeto commad:
>
> With objeto_commad
> .CommandText = "sp_procedimiento_almacenado"
> .CommandType = adCmdStoredProc
> .ActiveConnection = objeto_conexion
> .Parameters.Refresh
> End With
>
> rs.Open objeto_commad, , adOpenStatic, adLockOptimistic
>
> * En cuanto a velocidad, gestion de recursos y bla bla.
>
> Gracias.



Respuesta Responder a este mensaje
#2 Matías Iacono
20/04/2006 - 17:05 | Informe spam
Personalmente prefiero la segnda opcion.

Ya que se podría decir que es una forma de trabjo desconectado.

O sea, abres la base de datos, ejecutas la consulta y retornas un set de
datos.

Esto hace que la tabla no quede bloqueada, y puedas trabajar con el
recordset sin estar conectado directamente a la base de datos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Piolin Net" escribió en el mensaje
news:
Alo!

Tengo una duda existencial ...

¿Que es mejor, abrir un recordset con el objeto conexion o hacerlo con el
objeto command intermedio?

osea,
1.- con el objeto conexion:

rs.open "sp_procedimiento_almacenado", objeto_conexion, adOpenStatic,
adLockOptimistic

2.- con el objeto commad:

With objeto_commad
.CommandText = "sp_procedimiento_almacenado"
.CommandType = adCmdStoredProc
.ActiveConnection = objeto_conexion
.Parameters.Refresh
End With

rs.Open objeto_commad, , adOpenStatic, adLockOptimistic

* En cuanto a velocidad, gestion de recursos y bla bla.

Gracias.
Respuesta Responder a este mensaje
#3 Matías Iacono
20/04/2006 - 18:54 | Informe spam
En teoría si :p

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Piolin Net" escribió en el mensaje
news:

Osea,

¿con la opcion 1 la tabla se queda bloqueada hasta que cierras el
recordset?

Gracias.

"Matías Iacono" escribió:

Personalmente prefiero la segnda opcion.

Ya que se podría decir que es una forma de trabjo desconectado.

O sea, abres la base de datos, ejecutas la consulta y retornas un set de
datos.

Esto hace que la tabla no quede bloqueada, y puedas trabajar con el
recordset sin estar conectado directamente a la base de datos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Piolin Net" escribió en el mensaje
news:
> Alo!
>
> Tengo una duda existencial ...
>
> ¿Que es mejor, abrir un recordset con el objeto conexion o hacerlo con
> el
> objeto command intermedio?
>
> osea,
> 1.- con el objeto conexion:
>
> rs.open "sp_procedimiento_almacenado", objeto_conexion, adOpenStatic,
> adLockOptimistic
>
> 2.- con el objeto commad:
>
> With objeto_commad
> .CommandText = "sp_procedimiento_almacenado"
> .CommandType = adCmdStoredProc
> .ActiveConnection = objeto_conexion
> .Parameters.Refresh
> End With
>
> rs.Open objeto_commad, , adOpenStatic, adLockOptimistic
>
> * En cuanto a velocidad, gestion de recursos y bla bla.
>
> Gracias.



Respuesta Responder a este mensaje
#4 Manuel Vera
20/04/2006 - 21:50 | Informe spam
Y la diferencia entre el Command del amigo y esta otra opciòn:

3.-
with gData
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly '0
.LockType = adLockReadOnly '1
.Open SQL, gConnect
set .ActiveConnection = nothing
end with

Salu2
MV


"Matías Iacono" escribió en el mensaje
news:
En teoría si :p

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Piolin Net" escribió en el mensaje
news:

Osea,

¿con la opcion 1 la tabla se queda bloqueada hasta que cierras el
recordset?

Gracias.

"Matías Iacono" escribió:

Personalmente prefiero la segnda opcion.

Ya que se podría decir que es una forma de trabjo desconectado.

O sea, abres la base de datos, ejecutas la consulta y retornas un set de
datos.

Esto hace que la tabla no quede bloqueada, y puedas trabajar con el
recordset sin estar conectado directamente a la base de datos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Piolin Net" escribió en el
mensaje
news:
> Alo!
>
> Tengo una duda existencial ...
>
> ¿Que es mejor, abrir un recordset con el objeto conexion o hacerlo con
> el
> objeto command intermedio?
>
> osea,
> 1.- con el objeto conexion:
>
> rs.open "sp_procedimiento_almacenado", objeto_conexion, adOpenStatic,
> adLockOptimistic
>
> 2.- con el objeto commad:
>
> With objeto_commad
> .CommandText = "sp_procedimiento_almacenado"
> .CommandType = adCmdStoredProc
> .ActiveConnection = objeto_conexion
> .Parameters.Refresh
> End With
>
> rs.Open objeto_commad, , adOpenStatic, adLockOptimistic
>
> * En cuanto a velocidad, gestion de recursos y bla bla.
>
> Gracias.









Respuesta Responder a este mensaje
#5 Matías Iacono
21/04/2006 - 01:08 | Informe spam
Si, me falto aclarar un par de cosas :)

En realidad, la clave de la primer opcion y esa esta en el .LockType =
adLockReadOnly '1

Donde puedes darle bloqueo por registro, por tabla, o como en este coso, que
sea de solo lectura.

Pero para poder explicarlo de mejor manera, podemos mirar un poco .Net.

Donde podemos ver un nuevo modelo de acceso a datos, como por ejemplo, un
DataSet vs. un DataReader.

Aunque no bloquees la tabla, porque lo haces de solo lectura, debes mantener
una conexion activa (al igual que en un DataReader), a la base de datos, lo
que puede consumirte recursos, o en un punto, hacer el acceso a la base de
datos más lenta, debido a que puede tener muchas conexiones en cola y otros
asuntos.

Entonces, mientras haces todo el trabajo con la base de datos, la conexion a
la DB sigue vigente, y si tienes muchos procesos, ademas le sumas muchos
usuarios, terminas haciendo mas lenta tu aplicacion.

Con el segundo caso, al igual que un DataSet, nos conectamos a la DB,
consultamos los datos, y en ese mismo momento podemos cerrar la conexion,
con la diferencia que todos los datos los tenemos a mano.

Saludos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Manuel Vera" escribió en el mensaje
news:
Y la diferencia entre el Command del amigo y esta otra opciòn:

3.-
with gData
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly '0
.LockType = adLockReadOnly '1
.Open SQL, gConnect
set .ActiveConnection = nothing
end with

Salu2
MV


"Matías Iacono" escribió en el mensaje
news:
En teoría si :p

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Piolin Net" escribió en el mensaje
news:

Osea,

¿con la opcion 1 la tabla se queda bloqueada hasta que cierras el
recordset?

Gracias.

"Matías Iacono" escribió:

Personalmente prefiero la segnda opcion.

Ya que se podría decir que es una forma de trabjo desconectado.

O sea, abres la base de datos, ejecutas la consulta y retornas un set
de
datos.

Esto hace que la tabla no quede bloqueada, y puedas trabajar con el
recordset sin estar conectado directamente a la base de datos.

Matías Iacono
Microsoft MVP ASP/ASP.net
Microsoft Student Ambassador
Coordinador de evento Comunidad MSDN Bolivia
DCE2 v.2005
"Piolin Net" escribió en el
mensaje
news:
> Alo!
>
> Tengo una duda existencial ...
>
> ¿Que es mejor, abrir un recordset con el objeto conexion o hacerlo
> con el
> objeto command intermedio?
>
> osea,
> 1.- con el objeto conexion:
>
> rs.open "sp_procedimiento_almacenado", objeto_conexion, adOpenStatic,
> adLockOptimistic
>
> 2.- con el objeto commad:
>
> With objeto_commad
> .CommandText = "sp_procedimiento_almacenado"
> .CommandType = adCmdStoredProc
> .ActiveConnection = objeto_conexion
> .Parameters.Refresh
> End With
>
> rs.Open objeto_commad, , adOpenStatic, adLockOptimistic
>
> * En cuanto a velocidad, gestion de recursos y bla bla.
>
> Gracias.













Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida