none
Error: the conversion of a varchar data type to a datetime data type resulted in an out-of-range value RRS feed

  • Pregunta

  • Hola , me aparece ese error de conversion por favor ayuda. aqui metodo.  [HttpPost]
            public ActionResult Depreciar(DateTime fecha)
            {

                int mes;
                int ano;
                string FechaDeCorte;

                    FechaDeCorte = Convert.ToString(fecha);
                    fecha = Convert.ToDateTime(FechaDeCorte);
                    mes = fecha.Month;
                    ano = fecha.Year;


                    var prueba = db.DepreciarActivoFijo(mes,ano, "1", new ObjectParameter("Retorno", typeof(Int64)));

                    return RedirectToAction("confirm", "Home");
            }

    aqui modelo

     public DbSet<AF_DepreciacionActivoFijo> AF_DepreciacionActivoFijo { get; set; }

     public virtual int DepreciarActivoFijo(Nullable<int> mes, Nullable<int> ano, string codigoNivelEmpresarial, ObjectParameter retorno)
            {
                var mesParameter = mes.HasValue ?
                    new ObjectParameter("Mes", mes) :
                    new ObjectParameter("Mes", typeof(int));
        
                var anoParameter = ano.HasValue ?
                    new ObjectParameter("Ano", ano) :
                    new ObjectParameter("Ano", typeof(int));
        
                var codigoNivelEmpresarialParameter = codigoNivelEmpresarial != null ?
                    new ObjectParameter("CodigoNivelEmpresarial", codigoNivelEmpresarial) :
                    new ObjectParameter("CodigoNivelEmpresarial", typeof(string));
        
                return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("DepreciarActivoFijo", mesParameter, anoParameter, codigoNivelEmpresarialParameter, retorno);
            }
        }
    }


    erikpugo

    martes, 22 de diciembre de 2015 16:27

Todas las respuestas

  • Hola Erik Puentes,

    ¿Tiene algún sentido hacer lo siguiente?

    public ActionResult Depreciar(DateTime fecha)
            {
    
                int mes;
                int ano;
                string FechaDeCorte;
    
                    FechaDeCorte = Convert.ToString(fecha);
                    fecha = Convert.ToDateTime(FechaDeCorte);
                    mes = fecha.Month;
                    ano = fecha.Year;

    Conviertes el valor del parámetro fecha de tipo DateTime a una variable de tipo string, luego el valor de la variable de tipo string la vuelves a convertir a un tipo DateTime, ¿hay algo de lo que me esté perdiendo? ¿No basta con?

    public ActionResult Depreciar(DateTime fecha)
            {
                int mes= fecha.Month;
                int ano= fecha.Year;

    martes, 22 de diciembre de 2015 17:13