comose que al hacer executereader no coge ningun registro¿?

lucas
29 de Noviembre del 2003
lo que quiero hacer es que al hacer executereader , si no tiene ningun registro no me muestre el datagrid.

muchas gracias.

juan
29 de Noviembre del 2003
Si vas a utilizar el executereader es porque tu sentencia sql o procedimiento almacenado va a devolver algo. Aun asi, para asegurarte, antes de cargar nada en el datagrid comprueba con una sentencia if si el resultado del execute reader es nulo

Elph
29 de Noviembre del 2003
Bueno, no es tan facil, para asegurarte q un reader tiene algo se hace
if(reader.Read())
no obstante al hacer el primer read ia no puedes asignarlo al Datasource del grid, pq el reader ya esta abierto.
La otra opcion es contar las rows despues de bindear el grid..
Te aconsejo q utilices un dataset, o DataTable para bindear el grid, ya q ofrece mas flexibilidad.

lucas
29 de Noviembre del 2003
a las soluciones propuestas...
hago:
if objcmd.executereader.isdbnull(0) then
o
If objCmd.ExecuteReader.Read() Then
me da el siguiente error :
ExecuteReader requiere una conexión abierta y disponible

lo de contar las rows , no la forma de contarlas. si me pudieses poner un ejemplo de como hacer el recuento de rows o de utilizar el datatable te lo agradeceria.

Muchas gracias de antemano.


lucas
29 de Noviembre del 2003
el this no funciona pero me he creado un datatable y todo ok.
Muchas gracias.

Elph
29 de Noviembre del 2003
Saber el numero de filas de un grid
this.gridNewsLetters.Items.Count;
Saber el numero de filas de un datatable
myDataTable.Rows.Count;