Sobre Datasets

02/10/2006 - 15:58 por Aura | Informe spam
Se habla de que los datasets son para trabajos desconectados. Pregunto si
en visual basic 6 el esquema que soliamos usar era el de conectado. no ?
Entonces que debo usar en C# para un esquema conectado ?

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
02/10/2006 - 16:39 | Informe spam
"Aura" wrote in message
news:%
Se habla de que los datasets son para trabajos desconectados. Pregunto si
en visual basic 6 el esquema que soliamos usar era el de conectado. no ?
Entonces que debo usar en C# para un esquema conectado ?



Para esqema conectado, declaras la conexión, le haces un Open(), y se la
asignas a un objeto Command. Con el Command ejecutas sentencias SQL contra
el servidor, tales como el ExecuteReader() o ExecuteScalar() para leer
datos, y ExecuteNonQuery() para insertar, borrar y modificar. Cuando
terminas haces un Close() de la conexión.
Respuesta Responder a este mensaje
#2 floyd303
02/10/2006 - 16:39 | Informe spam
Hola!

En VB6 tambien se puede trabajar con Recordsets desconectados.
Para usar "accesos conectados" en C# esta el DataReader, pero esta
limitado a abrir tablas de solo lectura y "hacia adelante".

Saludos
Roberto M. Oliva


Aura ha escrito:

Se habla de que los datasets son para trabajos desconectados. Pregunto si
en visual basic 6 el esquema que soliamos usar era el de conectado. no ?
Entonces que debo usar en C# para un esquema conectado ?
Respuesta Responder a este mensaje
#3 Aura
02/10/2006 - 17:04 | Informe spam
Otras preguntillas:

a)Un dataset no puedo usarlo y estar conectada todo el tiempo tambien ? Lo
pregunto porque para el tipo de sistemas que yo trabajo siempre he trabajado
conectada (vb6) todo el tiempo y la velocidad no es mala. O es que los
datasets no lo permiten?
b)Has trabajado sin datasets con ese esquema de command que me dices para
estar conectado todo el tiempo en alguna aplicacion real. Como se comporta
el sistema ? Se puede pensar en instalar un sistema sin usar datasets?

Nota: trabajo con aplicaciones de gestion para pymes

Muchisimas gracias

Aura


"Alberto Poblacion"
escribió en el mensaje news:
"Aura" wrote in message
news:%
Se habla de que los datasets son para trabajos desconectados. Pregunto
si en visual basic 6 el esquema que soliamos usar era el de conectado. no
?
Entonces que debo usar en C# para un esquema conectado ?



Para esqema conectado, declaras la conexión, le haces un Open(), y se la
asignas a un objeto Command. Con el Command ejecutas sentencias SQL contra
el servidor, tales como el ExecuteReader() o ExecuteScalar() para leer
datos, y ExecuteNonQuery() para insertar, borrar y modificar. Cuando
terminas haces un Close() de la conexión.


Respuesta Responder a este mensaje
#4 floyd303
02/10/2006 - 17:26 | Informe spam
Hola!

Un DataSet es, por definicion, desconectado.
Con el metodo que especifica Alberto se puede trabajar perfectamente,
haces las consultas de datos con DataReaders y luego las
actualizaciones con ExecuteScalar y ExecuteNonQuery sin ningun
problema.


Saludos
Roberto M. Oliva


Aura ha escrito:

Otras preguntillas:

a)Un dataset no puedo usarlo y estar conectada todo el tiempo tambien ? Lo
pregunto porque para el tipo de sistemas que yo trabajo siempre he trabajado
conectada (vb6) todo el tiempo y la velocidad no es mala. O es que los
datasets no lo permiten?
b)Has trabajado sin datasets con ese esquema de command que me dices para
estar conectado todo el tiempo en alguna aplicacion real. Como se comporta
el sistema ? Se puede pensar en instalar un sistema sin usar datasets?

Nota: trabajo con aplicaciones de gestion para pymes

Muchisimas gracias

Aura


"Alberto Poblacion"
escribió en el mensaje news:
> "Aura" wrote in message
> news:%
>> Se habla de que los datasets son para trabajos desconectados. Pregunto
>> si en visual basic 6 el esquema que soliamos usar era el de conectado. no
>> ?
>> Entonces que debo usar en C# para un esquema conectado ?
>
> Para esqema conectado, declaras la conexión, le haces un Open(), y se la
> asignas a un objeto Command. Con el Command ejecutas sentencias SQL contra
> el servidor, tales como el ExecuteReader() o ExecuteScalar() para leer
> datos, y ExecuteNonQuery() para insertar, borrar y modificar. Cuando
> terminas haces un Close() de la conexión.
>
>
Respuesta Responder a este mensaje
#5 Alberto Poblacion
02/10/2006 - 19:04 | Informe spam
"Aura" wrote in message
news:%
a)Un dataset no puedo usarlo y estar conectada todo el tiempo tambien ?



Si claro. Si usas un dataadapter para llenar el dataset, y el dataadapter
se encuentra la conexión cerrada, la abre, la usa, y la vuelve a cerrar, con
lo que te queda en memoria una copia de los datos dentro del dataset y a
conexión cerrada.
Pero si abres la conexión y usas el DataAdapter, éste usa la conexión tal
como se la encuentra y la deja abierta, con lo que puedes mantener la
conexión abierta todo el rato si la quieres así por algún motivo en
especial.

Lo pregunto porque para el tipo de sistemas que yo trabajo siempre he
trabajado conectada (vb6) todo el tiempo y la velocidad no es mala. O es
que los datasets no lo permiten?



A los datasets les da igual. Los datasets símplemente son copias de los
datos en la memoria del equipo. Es únicamente cuando llenas de datos el
dataset cuando tienes que tener una conexión abierta. Una vez que el dataset
está cargado de datos le da exactamente lo mismo que la conexión esté
abierta o cerrada. Esos datos se manipulan en memoria, y cuando quieres
enviar los cambios a la base de datos vuelves a usar momentáneamente la
conexión. En ese momento se necesitará que esté conectada durante un
instante, pero mientras tanto da igual que haya estado abierta o cerrada.

En resumidas cuentas, el modelo conectado es exactamente igual que el
desconectado. Corren lo mismo y hacen lo mismo. De hecho, cuando usas el
dataadapter para leer o grabar el dataset, internamente el dataadapter usa
un objeto Command para realizar exactamente las mismas operaciones que yo te
había comentado que podías hacer a mano.

¿Cuál es la diferencia? Pues que cuando trabajas en el modo que se
denomina "desconectado", normalmente mantienes la conexión cerrada todo el
tiempo y solo la abres un instante cuando vas a leer o grabar la copia de
los datos que hay en memoria. Esto permite que el servidor mantenga abiertas
en promedio un número total de conexiones mucho menor que el de puestos de
trabajo. Si tenes muy pocos puestos y tu servidor no tiene problemas con el
número de conexiones, da igual que las mantengas abiertas todo el rato.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida