Discussion:
Recordset en vb.net 2003
(demasiado antiguo para responder)
DarthSidious
2006-04-21 13:11:01 UTC
Permalink
buenos dias, estoy empezando con esto del .net, vengo de vb6, y me estoy
volviendo loco para encontrar como utilizar un recordset en vb.net.... lo
unico que veo son datatables, dataset, etc, pero yo quiero un recordset,
siguen existiendo en vb.net, o sea, son propios del .net o fueron
reemplazados por alguna otra tecnologia, tal como sucedio de DAO a ADO ????
si alguien me puede aclarar esto e indicarme como recuperar datos de un sql
en vb.net se lo agradeceria mucho....

:-)
Antonio Gómez
2006-04-21 13:19:16 UTC
Permalink
Ojala!!!!

No hay recordsets
Este es el gran problema que le veo a este invento.

Para utilizar recordsets, tienes que crear una libreria en VB6 que añades
como referencia COM a tu proyecto en NET.

Estaria muy bien que se pudieran utilizar recordsets en NET y en 2005 como
se utilizaban en VB6..Señores de -Microsoft tomen nota por favor.....
Post by DarthSidious
buenos dias, estoy empezando con esto del .net, vengo de vb6, y me estoy
volviendo loco para encontrar como utilizar un recordset en vb.net.... lo
unico que veo son datatables, dataset, etc, pero yo quiero un recordset,
siguen existiendo en vb.net, o sea, son propios del .net o fueron
reemplazados por alguna otra tecnologia, tal como sucedio de DAO a ADO ????
si alguien me puede aclarar esto e indicarme como recuperar datos de un sql
en vb.net se lo agradeceria mucho....
:-)
Edie
2006-04-21 13:46:02 UTC
Permalink
Estimados colegas

lo que pasa es que el recorset es un objeto que mantiene una conexión
abierta a la base de datos

esa es la idea de ".NET" mantener una aplicación orientada a redes para esto
existen una serie de normas y reglas, de las cuales un recorset mantiene una
conección abierta mientras esté leyendo.

pero no se desepcionen en su lugar remplazaron este objeto por uno conocido
como SqlDataReader que ju8nto con un SqlCommand y un SqlConneccion funcionan
de manera igual que el recordset exepto que no podrán hacer esta locura:

recorset1!Codigo = "pppp9"

por que deben usar otro tipo de comando para meter Data en la base de datos

si lo que buscan es una conección ODBC solo sustituyen el SQL por ODBC de
esta forma

SqlDataReader
ODBCDataReader
o por un OLEDB
OLEDBDataReader

básicamente su funcionamiento es igual excepto que no pueder leer hacia atrás


Atte Edilberto Samudio
Post by DarthSidious
buenos dias, estoy empezando con esto del .net, vengo de vb6, y me estoy
volviendo loco para encontrar como utilizar un recordset en vb.net.... lo
unico que veo son datatables, dataset, etc, pero yo quiero un recordset,
siguen existiendo en vb.net, o sea, son propios del .net o fueron
reemplazados por alguna otra tecnologia, tal como sucedio de DAO a ADO ????
si alguien me puede aclarar esto e indicarme como recuperar datos de un sql
en vb.net se lo agradeceria mucho....
:-)
DarthSidious
2006-04-21 15:10:02 UTC
Permalink
y si necesito por ejemplo, recuperar 2 tablas de un sql, y hacer
comparaciones entre ambas, por ejemplo, tomar un valor de Tabla1 y buscarlo
en Tabla2, luego tomo otro valor de Tabla1, y lo busco en Tabla2 (pero para
esto tendria que volver a poner Tabla2 en su posicion de comienzo, cosa que
por lo que veo en tu explicacion no se puede porque no "lee para atras"),
entonces, como harias esto???

gracias!!!!!
:-)
Post by Edie
Estimados colegas
lo que pasa es que el recorset es un objeto que mantiene una conexión
abierta a la base de datos
esa es la idea de ".NET" mantener una aplicación orientada a redes para esto
existen una serie de normas y reglas, de las cuales un recorset mantiene una
conección abierta mientras esté leyendo.
pero no se desepcionen en su lugar remplazaron este objeto por uno conocido
como SqlDataReader que ju8nto con un SqlCommand y un SqlConneccion funcionan
recorset1!Codigo = "pppp9"
por que deben usar otro tipo de comando para meter Data en la base de datos
si lo que buscan es una conección ODBC solo sustituyen el SQL por ODBC de
esta forma
SqlDataReader
ODBCDataReader
o por un OLEDB
OLEDBDataReader
básicamente su funcionamiento es igual excepto que no pueder leer hacia atrás
Atte Edilberto Samudio
Post by DarthSidious
buenos dias, estoy empezando con esto del .net, vengo de vb6, y me estoy
volviendo loco para encontrar como utilizar un recordset en vb.net.... lo
unico que veo son datatables, dataset, etc, pero yo quiero un recordset,
siguen existiendo en vb.net, o sea, son propios del .net o fueron
reemplazados por alguna otra tecnologia, tal como sucedio de DAO a ADO ????
si alguien me puede aclarar esto e indicarme como recuperar datos de un sql
en vb.net se lo agradeceria mucho....
:-)
Jesús López
2006-04-21 15:36:39 UTC
Permalink
A lo mejor eso se soluciona símplemente usando un JOIN.

Respondiendo a tu pregunta inicial, los Recordsets en realidad no están
ligados a un lenguaje de programación, sino a la tecnología COM. En
cualquier lenguaje .NET puede seguir usándose los componentes COM y por
tanto ADO, simplemente añadiendo una referencia.

En .NET la tecnología de acceso a datos se llama ADO.NET en la que no
existen los recordsets, lo más parecido a un recordset puede ser un
datareader o un datatable. Un DataReader se parece mucho a un recordset de
sólo lectura y hacia delante, mientras que un DataTable se parece mucho a un
recordset desconectado. Pero no hay nada en ADO.NET que se parezca a los
recordsets dinámicos y de conjunto de claves con CursorLocation =
adUseServer.

Saludos:

Jesús López
Post by DarthSidious
y si necesito por ejemplo, recuperar 2 tablas de un sql, y hacer
comparaciones entre ambas, por ejemplo, tomar un valor de Tabla1 y buscarlo
en Tabla2, luego tomo otro valor de Tabla1, y lo busco en Tabla2 (pero para
esto tendria que volver a poner Tabla2 en su posicion de comienzo, cosa que
por lo que veo en tu explicacion no se puede porque no "lee para atras"),
entonces, como harias esto???
gracias!!!!!
:-)
Post by Edie
Estimados colegas
lo que pasa es que el recorset es un objeto que mantiene una conexión
abierta a la base de datos
esa es la idea de ".NET" mantener una aplicación orientada a redes para esto
existen una serie de normas y reglas, de las cuales un recorset mantiene una
conección abierta mientras esté leyendo.
pero no se desepcionen en su lugar remplazaron este objeto por uno conocido
como SqlDataReader que ju8nto con un SqlCommand y un SqlConneccion funcionan
recorset1!Codigo = "pppp9"
por que deben usar otro tipo de comando para meter Data en la base de datos
si lo que buscan es una conección ODBC solo sustituyen el SQL por ODBC de
esta forma
SqlDataReader
ODBCDataReader
o por un OLEDB
OLEDBDataReader
básicamente su funcionamiento es igual excepto que no pueder leer hacia atrás
Atte Edilberto Samudio
Post by DarthSidious
buenos dias, estoy empezando con esto del .net, vengo de vb6, y me estoy
volviendo loco para encontrar como utilizar un recordset en vb.net.... lo
unico que veo son datatables, dataset, etc, pero yo quiero un recordset,
siguen existiendo en vb.net, o sea, son propios del .net o fueron
reemplazados por alguna otra tecnologia, tal como sucedio de DAO a ADO ????
si alguien me puede aclarar esto e indicarme como recuperar datos de un sql
en vb.net se lo agradeceria mucho....
:-)
Antonio Gómez
2006-04-21 15:59:28 UTC
Permalink
Edie:

Fijate que has dicho un datareader junto con un sqlcommand y un
sqlconneccion que solo funciona hacia delante.....
O sea que la funcionalidad que tienen los recordsets no la tiene un data
reader ni por asomo.
Toda la funcionalidad de un Data Reader existe en un Recordset, pero no al
contrario. con lo que la programacion contra bases de datos, y sobre todo
contra bases de datos grandes se ha quedado en muy mal lugar, hasta que no
se presente solucion.



Yo les aventuro a realizar un inventario a fecha de una base de datos de un
ERP con mas de un año de antiguedad, y veran por que es bueno un recordset y
un datareader es muy, pero que muy, corto.

Saludos cordiales
Antonio Gomez
Post by Edie
Estimados colegas
lo que pasa es que el recorset es un objeto que mantiene una conexión
abierta a la base de datos
esa es la idea de ".NET" mantener una aplicación orientada a redes para esto
existen una serie de normas y reglas, de las cuales un recorset mantiene una
conección abierta mientras esté leyendo.
pero no se desepcionen en su lugar remplazaron este objeto por uno conocido
como SqlDataReader que ju8nto con un SqlCommand y un SqlConneccion funcionan
recorset1!Codigo = "pppp9"
por que deben usar otro tipo de comando para meter Data en la base de datos
si lo que buscan es una conección ODBC solo sustituyen el SQL por ODBC de
esta forma
SqlDataReader
ODBCDataReader
o por un OLEDB
OLEDBDataReader
básicamente su funcionamiento es igual excepto que no pueder leer hacia atrás
Atte Edilberto Samudio
Post by DarthSidious
buenos dias, estoy empezando con esto del .net, vengo de vb6, y me estoy
volviendo loco para encontrar como utilizar un recordset en vb.net.... lo
unico que veo son datatables, dataset, etc, pero yo quiero un recordset,
siguen existiendo en vb.net, o sea, son propios del .net o fueron
reemplazados por alguna otra tecnologia, tal como sucedio de DAO a ADO ????
si alguien me puede aclarar esto e indicarme como recuperar datos de un sql
en vb.net se lo agradeceria mucho....
:-)
Jesús López
2006-04-21 17:24:17 UTC
Permalink
ADO.NET no es sólo datareaders, también hay DataSets, DataTables, Commands,
etc. Con ello puedes hacer el ERP que te dé la gana, todo lo eficiente y
funcional que quieras, sólo tienes que saber como tratar bien un sistema de
base de datos.

La única funcionalidad que no tiene ADO.NET y que tenía ADO son los cursores
de servidor, que no se han implementado en ADO.NET porque la mayoría de las
veces se usaban mal. Pero ADO.NET tiene otras funcionalidades que no tiene
ADO.

Saludos:

Jesús López
Post by Antonio Gómez
Fijate que has dicho un datareader junto con un sqlcommand y un
sqlconneccion que solo funciona hacia delante.....
O sea que la funcionalidad que tienen los recordsets no la tiene un data
reader ni por asomo.
Toda la funcionalidad de un Data Reader existe en un Recordset, pero no al
contrario. con lo que la programacion contra bases de datos, y sobre todo
contra bases de datos grandes se ha quedado en muy mal lugar, hasta que no
se presente solucion.
Yo les aventuro a realizar un inventario a fecha de una base de datos de
un ERP con mas de un año de antiguedad, y veran por que es bueno un
recordset y un datareader es muy, pero que muy, corto.
Saludos cordiales
Antonio Gomez
Post by Edie
Estimados colegas
lo que pasa es que el recorset es un objeto que mantiene una conexión
abierta a la base de datos
esa es la idea de ".NET" mantener una aplicación orientada a redes para esto
existen una serie de normas y reglas, de las cuales un recorset mantiene una
conección abierta mientras esté leyendo.
pero no se desepcionen en su lugar remplazaron este objeto por uno conocido
como SqlDataReader que ju8nto con un SqlCommand y un SqlConneccion funcionan
recorset1!Codigo = "pppp9"
por que deben usar otro tipo de comando para meter Data en la base de datos
si lo que buscan es una conección ODBC solo sustituyen el SQL por ODBC de
esta forma
SqlDataReader
ODBCDataReader
o por un OLEDB
OLEDBDataReader
básicamente su funcionamiento es igual excepto que no pueder leer hacia atrás
Atte Edilberto Samudio
Post by DarthSidious
buenos dias, estoy empezando con esto del .net, vengo de vb6, y me estoy
volviendo loco para encontrar como utilizar un recordset en vb.net.... lo
unico que veo son datatables, dataset, etc, pero yo quiero un recordset,
siguen existiendo en vb.net, o sea, son propios del .net o fueron
reemplazados por alguna otra tecnologia, tal como sucedio de DAO a ADO ????
si alguien me puede aclarar esto e indicarme como recuperar datos de un sql
en vb.net se lo agradeceria mucho....
:-)
DarthSidious
2006-04-21 18:31:03 UTC
Permalink
les agradezco las respustas, pero me parece que la discusion se fue por las
ramas y todavia no he logrado saber como hacer lo que he planteado, que es,
poder recorrer 2 tablas de principio a fin, y luego volver al principio y
recorrerlas cuantas veces desee....
la verdad que hasta ahora el .net me ha desilucionado un poco, porque por lo
que veo, se cambiaron cosas que no tiene sentido haberlas cambiado, si se
quiere un lenguaje de programacion serio como C, no se puede estar alterando
sintaxis y demas cada 3 años por ejemplo. Pero bueno no me voy a explayar mas
(es como una catarsis esto :-P )

saludos y si alguien puede ayudarme con el dilema de recorrer tablas cuantas
veces se me de la gana y no solo para adelante, se lo voy a agradecer.

:-)
Post by DarthSidious
buenos dias, estoy empezando con esto del .net, vengo de vb6, y me estoy
volviendo loco para encontrar como utilizar un recordset en vb.net.... lo
unico que veo son datatables, dataset, etc, pero yo quiero un recordset,
siguen existiendo en vb.net, o sea, son propios del .net o fueron
reemplazados por alguna otra tecnologia, tal como sucedio de DAO a ADO ????
si alguien me puede aclarar esto e indicarme como recuperar datos de un sql
en vb.net se lo agradeceria mucho....
:-)
Jesús López
2006-04-21 22:56:48 UTC
Permalink
Carga las tablas en datatables usando dataadapters, luego recorres los
datatables tantas veces como desees.

Saludos:

Jesús López

Continúe leyendo en narkive:
Loading...