Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/10/2011, 19:50
Avatar de claudiovega
claudiovega
 
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 5 meses
Puntos: 11
Linq to Sql transformar campo string a datetime

Hola, tengo un campo en una tabla de la BD que guarda la fecha como string, con el siguiente formato ddmmyyyy. Debo hacer una consulta a la tabla para sacar los registros que estén dentro de un rango de fechas.

He probado lo siguiente: Convert.ToDateTime(ppc.PreFechaPedido.Insert(2, "-").Insert(6, "-") )
Lo de adentro debiera devolver una cadena con el siguiente formato: dd-mm-yyyy, luego esta cadena se convertiría a datetime, para luego compararse a las fechas introducidas por el usuario.

C#
Código:
    DateTime fechaini = DateTime.Parse(form["FechaPedidoDesde"]);
    DateTime fechafin = DateTime.Parse(form["FechaPedidoHasta"]);

    var pedidos = from ppc in USoftDC.PrePedidoCabeceras
          where ppc.PreEstado=="A"
          && Convert.ToDateTime(ppc.PreFechaPedido.Insert(2, "-").Insert(6, "-")) >= fechaini
          && Convert.ToDateTime(ppc.PreFechaPedido.Insert(2, "-").Insert(6, "-")) <= fechafin
          select ppc;
Me da el siguiente error: Arithmetic overflow error converting expression to data type datetime.
Pudiera ser que sql server quiera la fecha en otro formato, tal como: mm-dd-yyyy.
¿Alguna idea de como resolverlo?