En el siguiente código, la instrucción 1 arroja una excepción de conversión. Me pregunto por qué no es unboxing?
La declaración 2 funciona bien, pero quiero saber por qué la primera es incorrecta.Casting Excepción al intentar obtener valor de ExecuteScalar()
using (IDbCommand command = connection.CreateCommand())
{
command.CommandText = string.Format("SELECT COUNT(1) FROM {0}", tableName);
int count = (int)command.ExecuteScalar(); //statement 1
}
//int count = Convert.ToInt32(command.ExecuteScalar()); //statement 2
si usa Int32 count = (Int32) cmd.ExecuteScalar(); aún recibes excepciones? – Zenwalker
@zenwalker: 'int' y' Int32' son sinónimos. – Heinzi
¿Cuál es el mensaje de excepción exacto que obtienes? – Heinzi