ExecuteScalar

26/02/2007 - 18:16 por Pablo Cesar | Informe spam
Hola gente

Cuando ejecuto el ExecuteScalar(), quiero saber si obtuve una fila o si no
obtuve ningun valor, sólo me interesa saber eso, si encontró el registro que
busco o no, no me interesa el dato en si, como se hace? gracias.

Pablo Cesar.

Preguntas similare

Leer las respuestas

#1 jacgandres
26/02/2007 - 19:54 | Informe spam
recuerde que el ExcuteEscalar le retorna un objeto, un solo dato, si es null,
quiere decir que la cosulta no le arrojo datos... si no, tendria que hacer
una cast al tipo de dato que representa ese objeto para manejar ese rpta.

"Pablo Cesar" wrote:

Hola gente

Cuando ejecuto el ExecuteScalar(), quiero saber si obtuve una fila o si no
obtuve ningun valor, sólo me interesa saber eso, si encontró el registro que
busco o no, no me interesa el dato en si, como se hace? gracias.

Pablo Cesar.




Respuesta Responder a este mensaje
#2 Alberto Poblacion
26/02/2007 - 20:31 | Informe spam
"Pablo Cesar" wrote in message
news:%
Cuando ejecuto el ExecuteScalar(), quiero saber si obtuve una fila o si no
obtuve ningun valor, sólo me interesa saber eso, si encontró el registro
que
busco o no, no me interesa el dato en si, como se hace? gracias.



Con el ExecuteScalar lanza un "Select Count(*) from laTabla Where
Condicion", y si te devuelve cero es que ningún registro umple la Condicion,
y si hay registros que la cumplan te devuelve el número de los que cumplen.

Otra opción es usar el ExecuteNonQuery, que te devuelve el
"RecordsAfected" (número de registros afectados por la consulta). Por
ejemplo:
cmd.CommandText = "Delete from laTabla where Condicion";
int registrosAfectados = cmd.ExecuteNonQuery();
//registrosAfectados trae el número de registros borrados.
Respuesta Responder a este mensaje
#3 Pablo Cesar
26/02/2007 - 21:21 | Informe spam
Ok, Estoy usando ExecuteScalar, hago lo siguiente

Object miDato = myCommand.ExecuteScalar()

if (miDato = "cadena")
return true;
else
return false;

El problema, claro, es que cuando no hay dato, el objeto miDato esta vació y
me tira lo siguiente
Referencia a objeto no establecida como instancia de un objeto.

como hago para que funcione lo anterior?

Gracias.

Pablo Cesar.

"Alberto Poblacion"
escribió en el mensaje news:%
"Pablo Cesar" wrote in message
news:%
> Cuando ejecuto el ExecuteScalar(), quiero saber si obtuve una fila o si


no
> obtuve ningun valor, sólo me interesa saber eso, si encontró el registro
> que
> busco o no, no me interesa el dato en si, como se hace? gracias.

Con el ExecuteScalar lanza un "Select Count(*) from laTabla Where
Condicion", y si te devuelve cero es que ningún registro umple la


Condicion,
y si hay registros que la cumplan te devuelve el número de los que


cumplen.

Otra opción es usar el ExecuteNonQuery, que te devuelve el
"RecordsAfected" (número de registros afectados por la consulta). Por
ejemplo:
cmd.CommandText = "Delete from laTabla where Condicion";
int registrosAfectados = cmd.ExecuteNonQuery();
//registrosAfectados trae el número de registros borrados.


Respuesta Responder a este mensaje
#4 Alberto Poblacion
26/02/2007 - 22:09 | Informe spam
"Pablo Cesar" wrote in message
news:
Ok, Estoy usando ExecuteScalar, hago lo siguiente

Object miDato = myCommand.ExecuteScalar()

if (miDato = "cadena")
return true;
else
return false;

El problema, claro, es que cuando no hay dato, el objeto miDato esta vació
y
me tira lo siguiente
Referencia a objeto no establecida como instancia de un objeto.

como hago para que funcione lo anterior?



Comprueba si el object es del tipo adecuado. Por ejemplo asi:

string miDato = myCommand.ExecuteScalar() as string;
if (miDato!=null && miDato == "cadena")
return true;
else
return false;
Respuesta Responder a este mensaje
#5 Pablo Cesar
27/02/2007 - 16:12 | Informe spam
Gracias!!!!!!!!!!!!!!

"Alberto Poblacion"
escribió en el mensaje news:

"Pablo Cesar" wrote in message
news:
> Ok, Estoy usando ExecuteScalar, hago lo siguiente
>
> Object miDato = myCommand.ExecuteScalar()
>
> if (miDato = "cadena")
> return true;
> else
> return false;
>
> El problema, claro, es que cuando no hay dato, el objeto miDato esta


vació
> y
> me tira lo siguiente
> Referencia a objeto no establecida como instancia de un objeto.
>
> como hago para que funcione lo anterior?

Comprueba si el object es del tipo adecuado. Por ejemplo asi:

string miDato = myCommand.ExecuteScalar() as string;
if (miDato!=null && miDato == "cadena")
return true;
else
return false;


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida