none
Por que se cambia el formato de un campo en la consulta. RRS feed

  • Pregunta

  • Hola buen dia a todos, en este momento estoy trabajando con VS 2010 y estoy creando una aplicacion web con asp.net en el lenguaje vb, y uso el motor de bases de datos Access, la platafroma es Windows 7.

    Ok pues necesito hacer una operación con horas, dentro de una tabla hay un campo con el formato Hora/Fecha de tipo hora corta el cual guarda la hora como 14:30, hasta ahi todo bien pero en la consulta que hago desde la aplicación cambia el formato a am/pm, es decir que en vez de mostrar 14:30 muestra 2:30 pm y eso destruye toda la oparacion, mi pregunta es que pasa y si existe una solucion.

    Mi logica es que desde la aplicación se extrae el ultimo registro de la tabla para compararlo con el que esta capturado en la interfaz, si no es valido no se guarda, la consulta es la siguiente.

    "Select Top 1 IdEmpleado, FechaDeSalida, HoraSalida From TiempoExtra Order By IdRegistro Desc"

    Y lo guardo en un DataReader, cuando compilo con debugin y pongo un breack point me doy cuenta que al guardar el campo que guarda la hora del DataReader en una variable ya lo guarda en formato am/pm.

    mi codigo es el siguiente.

    Dim str As String = CType(dr.GetValue(2), String)

    desde este punto ya no puedo hacer ninguna operación por que este valor siempre sera menor con el que se compare.

    bueno pues despues intento pasar esa variable string a TimeSpan 

    Dim tiempo() As String = str.Split(":")

          Dim hora As String = tiempo(0)
            Dim minuto As Integer = tiempo(1)
            Dim segundo As Integer = 0 
            Dim sTiempo As New TimeSpan(hora, minuto, segundo)

    y funciona pero sigue estando en el formato incorrecto es decir 2:30 pm, eh intentado cambiar el formato del TImeSPan pero no tengo exito.

    Ayuda por favor, en verdad que e investigado desde el lunes que hacer, pero nada me e hechado casi todo el internet y nada, lo tengo que terminar para el viernes y solo falta este detalle; por favor orientenme ayudenme  diganme si no se puede gracias 

    miércoles, 17 de abril de 2013 22:57

Respuestas

  • O sea que cuando hacer dr.GetValue(2) ya te devuelve en formato am/pm??

    Has probado con dr.GetDateTime(2).ToString("hh:MM")??


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    jueves, 18 de abril de 2013 5:19
    Moderador

Todas las respuestas

  • O sea que cuando hacer dr.GetValue(2) ya te devuelve en formato am/pm??

    Has probado con dr.GetDateTime(2).ToString("hh:MM")??


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    jueves, 18 de abril de 2013 5:19
    Moderador
  • O sea que cuando hacer dr.GetValue(2) ya te devuelve en formato am/pm??

    Has probado con dr.GetDateTime(2).ToString("hh:MM")??


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos



    jueves, 18 de abril de 2013 15:54
  • Que cosa, muchismas gracias se soluciono te agradezco mucho me has compuesto la vida; solo tuve que cambiar a "HH:mm" para que lo diera en formato de 24 horas y quien sabe por que pero si le dejo el MM me agrega 12 minutos, pero en fin un saludo muchisimas gracias !!! marque tu respuesta como util
    jueves, 18 de abril de 2013 15:56