Foros del Web » Programación para mayores de 30 ;) » .NET »

Recordset, recuperar numero de filas ??

Estas en el tema de Recordset, recuperar numero de filas ?? en el foro de .NET en Foros del Web. Existe algun comando o funcion para recuperar el número total de filas de un Recordset ?? extraido de una consulta a la bd, porque en ...
  #1 (permalink)  
Antiguo 14/07/2011, 12:49
 
Fecha de Ingreso: marzo-2010
Mensajes: 432
Antigüedad: 14 años, 9 meses
Puntos: 11
Recordset, recuperar numero de filas ??

Existe algun comando o funcion para recuperar el número total de filas de un Recordset ?? extraido de una consulta a la bd, porque en php si se puede con el mysql_num_rows
__________________
Libro de HTML 5 + codigo fuente bajar aqui.
  #2 (permalink)  
Antiguo 14/07/2011, 13:07
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Recordset, recuperar numero de filas ??

Puedes cargar un DataTable y hacer algo como:

Código C#:
Ver original
  1. mitable.Rows.Count

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 14/07/2011, 16:31
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Recordset, recuperar numero de filas ??

O sea en lugar de llenar un recordset mejor llena un dataset
  #4 (permalink)  
Antiguo 14/07/2011, 17:51
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Recordset, recuperar numero de filas ??

o llenar solo el DataTable, no necesariamente se tiene que asociar a un DataSet

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #5 (permalink)  
Antiguo 14/07/2011, 22:23
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Recordset, recuperar numero de filas ??

MM, llenar un datatable?, o sea utilizar un recordset y recorrerlo para llenar un datatable o existe alguna manera de pasarle al datatable sin recorrer? pregunto porque no trabajo con recordset, y nunca he llenado un datatable directamente... el dataset se llena con el datadapter sin necesidad de recorrerlo...
  #6 (permalink)  
Antiguo 15/07/2011, 05:39
 
Fecha de Ingreso: julio-2011
Ubicación: Barcelona
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Recordset, recuperar numero de filas ??

Para saber el número de fila recordset.RecordCount
  #7 (permalink)  
Antiguo 15/07/2011, 06:56
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Recordset, recuperar numero de filas ??

Cita:
Iniciado por HaverRamirez Ver Mensaje
MM, llenar un datatable?, o sea utilizar un recordset y recorrerlo para llenar un datatable o existe alguna manera de pasarle al datatable sin recorrer? pregunto porque no trabajo con recordset, y nunca he llenado un datatable directamente... el dataset se llena con el datadapter sin necesidad de recorrerlo...
El DataAdapter en una de sus sobrecargas recibe un DataTable, es decir igual como llenas el DataSet llenas un DataTable

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #8 (permalink)  
Antiguo 15/07/2011, 07:58
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Recordset, recuperar numero de filas ??

Pero la manera de recorrerlo, mm, es que creo que solo se puede hacer hacia adelante, pero bueno, no se, la verdad es que depende, se recomienda que si solo vas a leer los datos y nada mas, como una consulta un recordset, pero si piensas trabajar con la info es mejor el dataset
  #9 (permalink)  
Antiguo 15/07/2011, 08:51
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Recordset, recuperar numero de filas ??

Pues la verdad por lo general trabajo con DataSet (Tipados preferiblemente) y DataTables, sin importar lo que necesite siempre uso esos objetos por la facilidad que me dan para recuperar los datos, recorrerlos, filtrarlos leerlos, etc.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #10 (permalink)  
Antiguo 15/07/2011, 09:01
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Recordset, recuperar numero de filas ??

Mmm yo no uso los tipados, se hace que son solo bulto, para que los necesitarias tipados?...
  #11 (permalink)  
Antiguo 15/07/2011, 10:00
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Recordset, recuperar numero de filas ??

Los tipados facilitan el desarrollo, el casting de los datos, el recorrer las filas, en fin tiene muchas ventajas, mira un ejemplito

En este bloque recorro un las filas de una tabla Tipada y pregunto si el campo NAME esta null.

IsNAMENull() es un metodo extendido implementado por el Visual Estudio.

Código C#:
Ver original
  1. foreach (DataSet1.tblCustomersRow row in dataSet11.tblCustomers.Rows)
  2.             {
  3.                 if (row.IsNAMENull())
  4.                 {
  5.                     //Validaciones si el campo es null
  6.                 }
  7.             }

Aca tratamos de realizar la misma validacion
Código C#:
Ver original
  1. foreach (DataRow row  in tbl.Rows)
  2.             {
  3.                 if(string.IsNullOrEmpty(row["NAME"].ToString()))
  4.                 {
  5.                      //Validaciones si el campo es null
  6.                 }
  7.             }

pero hay un detalle si el campo esta NULL, es decir DBNull.Value, lanzara una excepcion porque no lo puede pasar a String, en el tipado cada campo String se puede configurar para indicar que si esta Vacio no retorne una excepcion si no un "" (vacio)

Buscate esto en google: DataSet Tipado vs DataSet encontraras mas opiciones unas a favor otras en contra, pero a la final eres tu quien decide como trabajar.

P.D: Si trabajas o vas a trabar reportes con Crystal Reports este utiliza Tipados para poder diseñar el reporte, asi que te lo vas a encontrar en tu camino :D

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #12 (permalink)  
Antiguo 15/07/2011, 10:08
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 5 meses
Puntos: 267
Respuesta: Recordset, recuperar numero de filas ??

Yo estoy a favor jhonwilliams con respecto a Dataset Tipados debido a que dan facilidad para trabajar, aún mas con reports.Y como el mismo menciona, cada quien busca su mejor forma de trabajar. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #13 (permalink)  
Antiguo 15/07/2011, 10:16
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Recordset, recuperar numero de filas ??

Código C#:
Ver original
  1. foreach (DataRow row  in tbl.Rows)
  2.             {
  3.                 if(string.IsNullOrEmpty(row["NAME"].ToString()))
  4.                 {
  5.                      //Validaciones si el campo es null
  6.                 }
  7.             }


El error del tipo esta en esta linea

if ( string.IsNullOrEmpty(row["NAME"].ToString() ) )

especificamente en la conversión .ToString()
la opcion se vuelve efectiva si lo usaras asi

if ( string.IsNullOrEmpty(row["NAME"]) )

La propiedad row tambien tiene la opcion isnull entonces, la diferencia es casi que solo a codificación a utilizar, porque, con los datasets tipados, lo que no me gusta, es tenerlos cuando no se necesitan, dependiendo la necesidad, que si bien, me he sabido mover sin ellos. entonces los dos ejemplos que pones, tienen la misma reacción sean tipados o no, con la diferencia es que no necesito almacenar una cadena en e app.config, y tener que estar creando codigo adicional para la codificación y decodificación de la msma sin mencionar tener que estar llamando y posiblemente instanciando varios dataset tipados que puedan o no tener mas de una tabla y relación, es que se vuelven un saco donde lo metes todo y despues cargarlo es un problema, incluso cuando los modificas mucho tienden a dar problemas con el proyecto entero.
  #14 (permalink)  
Antiguo 15/07/2011, 10:19
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Recordset, recuperar numero de filas ??

Aquaventus, con la reporteria sucede lo mismo, no necesitas dataset tipados para hacer reportes, si bien necesitas una estructura, tambien la puedes tener o jalar de la capa de entidades que crystal reports la sigue reconociendo, digamos que es con crystal. y si es un query, simplemente vincula a la base, si la base cambia es un dolor tener que actualizar la base, despues actualizar tu dataset tipado, despues ir a crystal reports y actualizar. mientras que con la base simplemente el crystal le das comprobar y se actualiza, incluso existen modos de decirle a crystal la cadena, para que puedas ejecutar en crystal los reportes o resultados provenientes de procedimientos almacenados...
  #15 (permalink)  
Antiguo 15/07/2011, 10:20
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Recordset, recuperar numero de filas ??

Que bueno se esta poniendo esto...jajaja
  #16 (permalink)  
Antiguo 15/07/2011, 10:22
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 5 meses
Puntos: 267
Respuesta: Recordset, recuperar numero de filas ??

Solo digo que cada quien escoje la forma a la que uno mejor se adecue a hacerlo, si bien esto se realiza sin tipar, para mi se me facilita la realizacion en ciertas funciones. Con esto no digo que "siempre" se va a usar los tipados, solo en algunos casos complejos.

PDT: No Hagamos de esta tema una discusion que nos andamos desviando un poquitillo del hilo, ya vera el usuario que inició el hilo con cual definir.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #17 (permalink)  
Antiguo 15/07/2011, 10:26
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Recordset, recuperar numero de filas ??

Si yo se, o sea, respeto el hecho que les guste o prefieran o sientas, mejor el trabajo con dataset tipados, lo que pongo como pero, es que la escalabilidad se pierde, se vuelve engorroso tener que hacer un cambio en la base y luego dentro de los dataset y posteriormente en los reportes, ( aparte es netframeworks 4 entity client ), entonces el uso de dataset tipados pone peros en estos casos, solamente eso, y el hecho de tener un saco en la aplicacion

El metodo string.isnullorempty verifica cadena vacia y valor NULL checalo

http://www.dotnetperls.com/isnullorempty

Y si bien es cierto, cada quien escoge la manera de trabajar, seria bueno que para escoger tuvieras un buen dialogo y todas las posibles variables vistas, asi aseguras que estas toamndo una buena decision...y aparte de, que me encantan las discusiones.jajaj
  #18 (permalink)  
Antiguo 15/07/2011, 10:29
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 5 meses
Puntos: 267
Respuesta: Recordset, recuperar numero de filas ??

Se ve que te encantan , pero dejemosle ahi porque el pobre usuario tazzwt le va a dar un derrame cerebral al leer todo el hilo jajaja o talvez sea un poco sádico y le guste tambien discutir y seguir el tema o hasta el que venga el Sr. Moderador y nos de un "STOP" . jejeje Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #19 (permalink)  
Antiguo 15/07/2011, 10:43
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Recordset, recuperar numero de filas ??

Cita:
Iniciado por HaverRamirez Ver Mensaje
[HIGHLIGHT="C#"]

if ( string.IsNullOrEmpty(row["NAME"]) )
El metodo string.IsNullOrEmpty recibe un string, por lo tanto esa linea no creo que funcione por eso el ToString.
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #20 (permalink)  
Antiguo 15/07/2011, 10:48
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 9 meses
Puntos: 76
Respuesta: Recordset, recuperar numero de filas ??

Cita:
Iniciado por HaverRamirez Ver Mensaje
Si yo se, o sea, respeto el hecho que les guste o prefieran o sientas, mejor el trabajo con dataset tipados, lo que pongo como pero, es que la escalabilidad se pierde, se vuelve engorroso tener que hacer un cambio en la base y luego dentro de los dataset y posteriormente en los reportes,
Pero esto ocurre casi que en cualquier caso, es decir si agregamos un nuevo campo a una tabla, tenes que modificar los procedimientos de Insert, Upsate, Detele y Select (si no haces la consulta con el *).

Luego toca ir al proyecto y modificar las clases, dataset, envio de parametros, en fin. Ahi si sea que trabaje con tipados o no el agregar un campo implica realizas mas modificaciones.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #21 (permalink)  
Antiguo 15/07/2011, 10:54
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 13 años, 5 meses
Puntos: 33
Respuesta: Recordset, recuperar numero de filas ??

Upss, efectivamente,

when the field is null will throw a strong typing exception. Datasets attempt to cast the value out of the row when you access the property. This is one of the most annoying things about them.

If the original column datatype is not string then it will throw an exception. If column is of type string, String.IsNullOrEmpty should work fine.

Entonces lo que se tendria que hacer es utilizar un IsNull primero e implementar un OrElse o AndAlso para un string.isnullorempty

que se podria vincular con un evento...o simplemente manejar la validación con un delegado...cualquiera es valida.
  #22 (permalink)  
Antiguo 15/07/2011, 11:41
 
Fecha de Ingreso: julio-2011
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Recordset, recuperar numero de filas ??

Si ya tienes tu dataset cargado.....has lo siguiente

Dim a As Integer

a = dtsCatBancosTes.Tables("BancosTes").Rows.Count()

Etiquetas: filas, numero, recordset, recuperar, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:58.