Cadena de entrada con no tiene formato

Iniciado por CHUX17, 6 Abril 2012, 22:58 PM

0 Miembros y 1 Visitante están viendo este tema.

CHUX17

Hola, estoy haciendo una tarea de la U. Pero encontre con un error que dice que la cadena de entrada no tiene el formato correcto. Pero resulta que estoy utilizando el mismo codigo que utilice para la tarea pasada (donde si funciona) y ahora me sale con esto. La base de Datos esta Bien, hasta el revisado el procedimiento almacenado y tambien esta bien. Donde puede estar mi error??
Me vota la aplicacion en la linea del resultado.

public bool ValidarUsuario(Proyecto2.OB.LoginOB Usuario)
        {
            bool Resultado = false;
            try
            {   
                string conexion = ConfigurationSettings.AppSettings["conexion"];
                using (SqlConnection conn = new SqlConnection(conexion))
                {
                    conn.Open();
                    using (SqlCommand comm = new SqlCommand(usp_Login_Consulta, conn))
                    {
                        comm.Parameters.AddWithValue("@login", Usuario.Login);
                        comm.Parameters.AddWithValue("@password", Usuario.Password);
                        comm.CommandType = System.Data.CommandType.StoredProcedure;//Enumeradores
                        Resultado = (Convert.ToInt32(comm.ExecuteScalar()) == 1 ? true : false);
                    }
                }
                return Resultado;
            }
            catch (Exception)
            {
                throw;
            }
        }

kub0x

Buenas,

claro que no tiene el formato correcto :P Resultado necesita de un Int32 y quieres pasarle ¿una setencia condicional?

Podrías hacerlo de la siguiente manera ;) Te lo dejo en VB .NET

Código (VB.NET) [Seleccionar]

Dim Resultado as int32 = 0
If comm.ExecuteScalar() = True Then
Resultado = 1
Else
'Aquí ejecutas las sentencias que quieras.
End If


Espero que te haya servido de ayuda,

un saludo.

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


$Edu$

Creo que has entendido mal kub0x, y yo no entiendo bien tampoco pero.. proba con esto:

Código (csharp) [Seleccionar]


public bool ValidarUsuario(Proyecto2.OB.LoginOB Usuario)
        {
            bool Resultado = false;
            int32 valor;  //nueva variable

            try
            {   
                string conexion = ConfigurationSettings.AppSettings["conexion"];
                using (SqlConnection conn = new SqlConnection(conexion))
                {
                    conn.Open();
                    using (SqlCommand comm = new SqlCommand(usp_Login_Consulta, conn))
                    {
                        comm.Parameters.AddWithValue("@login", Usuario.Login);
                        comm.Parameters.AddWithValue("@password", Usuario.Password);
                        comm.CommandType = System.Data.CommandType.StoredProcedure;//Enumeradores
                        valor = (Int32) comm.ExecuteScalar();
                        resultado = valor == 1;
                    }
                }
                return Resultado;
            }
            catch (Exception)
            {
                throw;
            }
        }



Es lo mismo, solo que de tu codigo con el "?" no se si funciona en estos casos..


Eso si.. si lo que vs queres es usar eso para comprobar que se realizo el comando sql solo tenes que hacer:

Código (csharp) [Seleccionar]

public bool ValidarUsuario(Proyecto2.OB.LoginOB Usuario)
        {
           
            try
            {   
                string conexion = ConfigurationSettings.AppSettings["conexion"];
                using (SqlConnection conn = new SqlConnection(conexion))
                {
                    conn.Open();
                    using (SqlCommand comm = new SqlCommand(usp_Login_Consulta, conn))
                    {
                        comm.Parameters.AddWithValue("@login", Usuario.Login);
                        comm.Parameters.AddWithValue("@password", Usuario.Password);
                        comm.CommandType = System.Data.CommandType.StoredProcedure;//Enumeradores
                       
                    }
                }
                return (comm.ExecuteScalar() == System.DBNull.Value);
            }
            catch (Exception)
            {
                throw;
            }
        }