Error al contar las filas de un dataset

24/06/2005 - 10:34 por EAmez | Informe spam
Hola a todos,

Me esta pasando algo incomprensible, a ver si alguien de por aqui me
explica porqué. Tengo una aplicacion web que tira de una serie de
clases de negocio. Una de mis clases de negocio tiene una variable de
tipo DataSet que al llamar al constructor se inicializa con la
estructura de una tabla de la base de datos. Hasta ahi no hay
problemas. El caso es que en un punto de la pagina web, instancio esa
clase de negocio y compruebo lo siguiente:

if(_dataset.Tables[UnaClase.NOMBRE_TABLA].Rows.Count != 0)...

donde UnaClase es, como su nombre indica, una clase que utilizo para
almacenar constantes de la base de datos.

Resulta que al comprobar esta condicion me salta el siguiente error:
There is no row at position 0.
Exception Details: System.IndexOutOfRangeException: There is no row at
position 0.

Juraria que he estado usando esta expresion sin problemas para
comprobar si una tabla de un dataset esta vacia o no, y me ha
funcionado correctamente. Para mas informacion, cuando se evalua la
expresion el dataset esta vacio.

Por cierto, si en tiempo de depuracion compruebo el valor de la
expresion me sale como resultado 0, no un error.

¿Que puedo usar para comprobar si la tabla esta vacia o no sin tener
que usar un try/catch?

Un saludo y gracias,
K
 

Leer las respuestas

#1 Jose S.
24/06/2005 - 16:43 | Informe spam
if (DataSet.Tables[Tabla]== null)



"EAmez" escribió en el mensaje
news:
Hola a todos,

Me esta pasando algo incomprensible, a ver si alguien de por aqui me
explica porqué. Tengo una aplicacion web que tira de una serie de
clases de negocio. Una de mis clases de negocio tiene una variable de
tipo DataSet que al llamar al constructor se inicializa con la
estructura de una tabla de la base de datos. Hasta ahi no hay
problemas. El caso es que en un punto de la pagina web, instancio esa
clase de negocio y compruebo lo siguiente:

if(_dataset.Tables[UnaClase.NOMBRE_TABLA].Rows.Count != 0)...

donde UnaClase es, como su nombre indica, una clase que utilizo para
almacenar constantes de la base de datos.

Resulta que al comprobar esta condicion me salta el siguiente error:
There is no row at position 0.
Exception Details: System.IndexOutOfRangeException: There is no row at
position 0.

Juraria que he estado usando esta expresion sin problemas para
comprobar si una tabla de un dataset esta vacia o no, y me ha
funcionado correctamente. Para mas informacion, cuando se evalua la
expresion el dataset esta vacio.

Por cierto, si en tiempo de depuracion compruebo el valor de la
expresion me sale como resultado 0, no un error.

¿Que puedo usar para comprobar si la tabla esta vacia o no sin tener
que usar un try/catch?

Un saludo y gracias,
K

Preguntas similares