Problemas con SQLCE

02/05/2006 - 20:04 por Diego \(DCD\) | Informe spam
Hola,

estoy intentando esto en una base de datos SQL CE 2005

Command = "SELECT MAX(IdCliente) FROM Cliente"

long? idcliente = Command.ExecuteEscalar();

Pero me salta una exception del tipo InvalidCastingException, alguien me
puede ayudar cómo arreglarlo.

Un saludo y gracias.

Preguntas similare

Leer las respuestas

#1 Lonifasiko
03/05/2006 - 08:18 | Informe spam
Buenas, inténtalo en dos pasos:

object o = command.ExecuteScalar();
long l = (long)o;

ó forzando tú mismo un cast:
long l = (long)command.ExecuteScalar();

A veces, los métodos que devuelven "object" dan problemas al
asignarlos directamente a variables que no son de tipo "object".

Aún así, yo siempre antes comrpobaría que el objeto que me devuelve
ExecuteScalar no es nulo, etc.

SaludoX.
#2 Diego \(DCD\)
03/05/2006 - 08:38 | Informe spam
Hola,

efectivamente me devuelve un nulo, pero entendía que en el 2.0 al poner

long? vbl este me aceptaba los valores nulos y por lo que veo no lo hace.

Un saludo.

"Lonifasiko" escribió en el mensaje
news:
Buenas, inténtalo en dos pasos:

object o = command.ExecuteScalar();
long l = (long)o;

ó forzando tú mismo un cast:
long l = (long)command.ExecuteScalar();

A veces, los métodos que devuelven "object" dan problemas al
asignarlos directamente a variables que no son de tipo "object".

Aún así, yo siempre antes comrpobaría que el objeto que me devuelve
ExecuteScalar no es nulo, etc.

SaludoX.
#3 Unai Zorrilla Castro
03/05/2006 - 09:40 | Informe spam
La idea es buena, la de usar nullable types, pero lo que devuelve es un
System.DBNull.Value no un long nulo por lo que primero deberías capturar que
no sea nulo..

Saludos
Unai Zorrilla Castro
Microsoft MVP Compact Framework
www.canaldotnet.com

"Diego (DCD)" escribió:

Mostrar la cita
#4 Diego \(DCD\)
03/05/2006 - 09:52 | Informe spam
Gracias por la aclaración.

Un saludo.

"Unai Zorrilla Castro"
escribió en el mensaje
news:
Mostrar la cita
Ads by Google
Search Busqueda sugerida