none
Grabar solo la hora RRS feed

  • Pregunta

  • Hola de nuevo por aqui con lo siguiente en un campo fechacarga del tipo date grabo la fecha asi Convert.ToDateTime(DateTime.Today); y tengo otro campo horacarga que si lo pongo como datetime DateTime.Now.ToString("HH:mm:ss") me graba fecha y hora y si lo cambio a time(2) no logro pasarle los datos tengo un sistema con usuarios y necesito hacer auditorias por fechas y por hora algun consejo o sujerencia gracias.

    sábado, 4 de abril de 2015 0:01

Respuestas

  • hola

    como asignas el valor que asignas en el INSERT ?

    quiero pensar que usas parametros, no? si estas concatenando los valores en un string no es correcto

    >>si lo cambio a time(2) no logro pasarle los datos tengo un sistema con usuarios

    tienes que asignar un TimeSpan por parametro para poder insertar ese campos

    using(SqlConnection con = new SqlConnection("<conection string>"))
    {
        con.Open();
       
        string query = @"INSERT INTO NombreTabla (Fecha, Hora) VALUES (@fecha, @hora)";
    
        SqlCommand cmd = new SqlCommand(query1, con)
        
    	DateTime fecha = DateTime.Now;
    	cmd.Parameters.AddWithValue("@fecha", fecha.Today);
    	
    	TimeSpan hora = new TimeSpan(fecha.Day, fecha.Hour, fecha.Minute, fecha.Second);
    	cmd.Parameters.AddWithValue("@hora", hora);
       
    	cmd.ExecuteNonQuery(); 
        
    }

    la idea es que asignes un TimeSpan al parametro de la hora

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    sábado, 4 de abril de 2015 0:19

Todas las respuestas

  • hola

    como asignas el valor que asignas en el INSERT ?

    quiero pensar que usas parametros, no? si estas concatenando los valores en un string no es correcto

    >>si lo cambio a time(2) no logro pasarle los datos tengo un sistema con usuarios

    tienes que asignar un TimeSpan por parametro para poder insertar ese campos

    using(SqlConnection con = new SqlConnection("<conection string>"))
    {
        con.Open();
       
        string query = @"INSERT INTO NombreTabla (Fecha, Hora) VALUES (@fecha, @hora)";
    
        SqlCommand cmd = new SqlCommand(query1, con)
        
    	DateTime fecha = DateTime.Now;
    	cmd.Parameters.AddWithValue("@fecha", fecha.Today);
    	
    	TimeSpan hora = new TimeSpan(fecha.Day, fecha.Hour, fecha.Minute, fecha.Second);
    	cmd.Parameters.AddWithValue("@hora", hora);
       
    	cmd.ExecuteNonQuery(); 
        
    }

    la idea es que asignes un TimeSpan al parametro de la hora

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    sábado, 4 de abril de 2015 0:19
  • Hola leandro no lo paso como parametro estoy con linq y EF y recorro un gridview con otros datos a esos datos le agrego el campo del usuario logeado al sistema la fecha y la hora

     padP.Usuario =Convert.ToString( Session["UserName"]);
     padP.FechaCarga = Convert.ToDateTime(DateTime.Today);
     padP.HoraCarga = <---- Aqui estoy trabado el campo sql es un time(2)
                        context.PadronPs.Add(padP);
                        context.SaveChanges();

    sábado, 4 de abril de 2015 0:30
  • hola

    como asignas el valor que asignas en el INSERT ?

    quiero pensar que usas parametros, no? si estas concatenando los valores en un string no es correcto

    >>si lo cambio a time(2) no logro pasarle los datos tengo un sistema con usuarios

    tienes que asignar un TimeSpan por parametro para poder insertar ese campos

    using(SqlConnection con = new SqlConnection("<conection string>"))
    {
        con.Open();
       
        string query = @"INSERT INTO NombreTabla (Fecha, Hora) VALUES (@fecha, @hora)";
    
        SqlCommand cmd = new SqlCommand(query1, con)
        
    	DateTime fecha = DateTime.Now;
    	cmd.Parameters.AddWithValue("@fecha", fecha.Today);
    	
    	TimeSpan hora = new TimeSpan(fecha.Day, fecha.Hour, fecha.Minute, fecha.Second);
    	cmd.Parameters.AddWithValue("@hora", hora);
       
    	cmd.ExecuteNonQuery(); 
        
    }

    la idea es que asignes un TimeSpan al parametro de la hora

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    Gracias leandro adapte mi codigo y funciono dejo el codigo para alguien si le sirve

    padP.Usuario =Convert.ToString( Session["UserName"]);
    padP.FechaCarga = Convert.ToDateTime(DateTime.Today);
     DateTime fecha = DateTime.Now;
     TimeSpan hora = new TimeSpan(fecha.Hour, fecha.Minute, fecha.Second);
             padP.HoraCarga = hora;
             context.PadronPs.Add(padP);
              context.SaveChanges();

    sábado, 4 de abril de 2015 1:04