none
-2146233080 Index was outside the bounds of the array RRS feed

  • Pregunta

  • Hola a todos :)

    Tengo un problema cuando invoco un web service que busca si existe un registro en la base de datos dependiendo del nombre de usuario que le ponga, y cuando ingreso un usuario que existe no hay problema, pero cuando ingreso un usuario que no existe, me da el error que pongo de titulo, en concreto, me da error en la linea de usu=temp[0];


    [WebMethod]
            public Boolean DisponibilidadUsuario(String _nombre)
            {
                try
                {
                    DataContext dcTemp = new DCGeneralDataContext();
                    Usuarios[] temp = new Usuarios[1];
                    Usuarios usu = new Usuarios();
                    temp = dcTemp.GetTable<Usuarios>().Where(c => c.strUsuario.Equals(_nombre)).ToArray();
                    usu = temp[0];
    
                    String[] array = new String[3];
    
                    array[0] = usu.strUsuario;
                    array[1] = usu.strPassword;
                    array[2] = usu.idUsuario.ToString();
    
                    if (array[0].Length > 0)
                    {
    
                        return true;
                    }
                    else {
    
                        return false;
                    }
                    
                }
    
                catch (Exception _e)
                {
                    EnviarErrores mensaje = new EnviarErrores();
                    mensaje.EnviarCorreo(_e);
                }
    
                return false;
                
            }

    Aqui dejo el error completo:

    -2146233080Index was outside the bounds of the array.PruebaWebServices   at PruebaWebServices.Web_Services.WebService1.DisponibilidadUsuario(String _nombre) in C:\Users\daniel\Documents\Visual Studio 2015\Projects\PruebaWebServices\PruebaWebServices\WebServices\WebService1.asmx.cs:line 158Boolean DisponibilidadUsuario(System.String)

    Muchas gracias de antemano por su ayuda :D



    Realmente no se nada, solo se que si logro aprender algo nuevo cada dia sentiré que sigo en movimiento

    lunes, 5 de diciembre de 2016 19:42

Respuestas

  • HopeINKnowledgeAndLove,

    ¿No basta con validar la existencia de una o mas coincidencias para conocer la disponibilidad del usuario?

    public Boolean DisponibilidadUsuario(String _nombre)
    {
    	bool result = false;
    	try
    	{
    		DataContext dcTemp = new DCGeneralDataContext();
    
    		result = dcTemp.GetTable<Usuarios>().Any(c => c.strUsuario.Equals(_nombre));
    	}
    	catch (Exception _e)
    	{
    		EnviarErrores mensaje = new EnviarErrores();
    		mensaje.EnviarCorreo(_e);
    	}
    
    	return result;
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 5 de diciembre de 2016 20:23

Todas las respuestas

  • HopeINKnowledgeAndLove,

    ¿No basta con validar la existencia de una o mas coincidencias para conocer la disponibilidad del usuario?

    public Boolean DisponibilidadUsuario(String _nombre)
    {
    	bool result = false;
    	try
    	{
    		DataContext dcTemp = new DCGeneralDataContext();
    
    		result = dcTemp.GetTable<Usuarios>().Any(c => c.strUsuario.Equals(_nombre));
    	}
    	catch (Exception _e)
    	{
    		EnviarErrores mensaje = new EnviarErrores();
    		mensaje.EnviarCorreo(_e);
    	}
    
    	return result;
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 5 de diciembre de 2016 20:23
  • Jaja no sabia que se podia convertir en bool la respuesta.... muchas gracias amigo, la otra parte de codigo es porque es para vaildar que al insertar no exista, y si existe no lo inserta, pero si no esta entonces lo inserta, nada mas que pase el codigo a este metodo

    Muchas Gracias!! :)


    Realmente no se nada, solo se que si logro aprender algo nuevo cada dia sentiré que sigo en movimiento

    lunes, 5 de diciembre de 2016 22:07