none
Capturar Hora de base de datos RRS feed

  • Pregunta

  • Tengo un formulario que guarda hora Inicio y hora fin, con un DateTimePiker, con el format en time

    Esto inserta la hora que yo quiera en la base de datos, inserta correctamente pero a la hora de traer la hora guardada y mostrarla en el DateTimePiker me sale la siguiente Excepción 

    System.InvalidCastException: 'Unable to cast object of type 'System.TimeSpan' to type 'System.IConvertible'.'

    Código 

    private void BtnEditarForm_Click(object sender, EventArgs e)  {
    if (dataGridView1.SelectedRows.Count > 0)
    {
    FormAddActividad frm = new FormAddActividad 
    {
    operacion = "Editar"         
    }; 
    frm.dateHInicio.Value=Convert.ToDateTime(dataGridView1.CurrentRow.Cells["HoraInicio"].Value);
    frm.ShowDialog();      
    ListarActividad();    
    }            
    else MessageBox.Show("Debe seleccionar una fila ");       
     
    }

    jueves, 4 de julio de 2019 18:50

Todas las respuestas

  • hola

    Pero en la db el campo para ese horario de que tipo lo defines? es un DateTime

    alli lo que veo es que no conviertes lo que obtienes desde una consulta a la db, sino es un valor del control DataGridView, eso es diferente

    Creo que si llevas el TimeSpan a una hora como string el Convert lo reconoce y agregara la fecha del momento de la conversion a ese horario

    TimeSpan horainicio = (TimeSpan)dataGridView1.CurrentRow.Cells["HoraInicio"].Value;
    
    frm.dateHInicio.Value = Convert.ToDateTime(horainicio.ToString("hh:mm:ss"));

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 4 de julio de 2019 20:18
  • Hola   EstebanGiraldo

     

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te recomiendo ingresar al siguiente enlace donde se expone un caso similar al que presentas y puedas encontrar una posible solución.

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/1a5ea30a-94f6-4c9d-8922-8bbc3be2d6bd/error-unable-to-cast-object-of-type-systemtimespan-to-type-systemiconvertible?forum=winforms

     

    Gracias por usar los foros de MSDN.

     

    Pablo Rubio

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 4 de julio de 2019 20:20
    Moderador
  • Lo defino en la base de datos como time, al ejecutar lo que me ayudaste sale esto

    System.FormatException: 'Input string was not in a correct format.'

    jueves, 4 de julio de 2019 20:49
  • Listo lo solucione de esta manera y me funciono le quite la conversión y le quite el Value y le puse el  Text 

     frm.dateHInicio.Text = dataGridView1.CurrentRow.Cells["HoraInicio"].Value.ToString();

    Muchas gracias 

    • Propuesto como respuesta eRiver1 viernes, 5 de julio de 2019 15:44
    jueves, 4 de julio de 2019 21:26