none
Como grabar en una base de datos un tipo de dato Tipo Date desde un Maskedtextbox con marcara tipo fecha corta RRS feed

  • Pregunta

  • Tengo un maskedtexbox con formato de fecha corta   __/__/____ y lo que quiero es poder grabar ese dato desde vb.net en la base de datos, cuando trato de hacerlo me dice que no puedo convertir un dato text en un dato tipo date

     .AddWithValue("@Fecha_Inicio", CDate(Me.mtbfechainicio.Text).ToShortDateString)

    ya trate haciendo esto y no me funciono

    • Cambiado Enrique M. Montejo domingo, 20 de noviembre de 2016 15:29 Pregunta relacionada con controles de Windows Forms.
    miércoles, 9 de noviembre de 2016 17:29

Todas las respuestas

  • Hola Efrain Diaz,

    Lo recomendable sería usar un DateTimePicker para seleccionar una fecha, solo cambiarías la propiedad Format a Short para mostrar dd/MM/yyyy. Y si tu campo es de tipo Date solo harías :

    .AddWithValue("@Fecha_Inicio", DateTimePicker1.Value.Date)


    Según el ejemplo, si ya tienes el valor del MaskedTextBox en modo texto con el formato de la máscara porque lo conviertes a fecha y luego a texto con el mismo formato ?

    Si persistes en el uso del MaskedTextBox tendrías que validar usando TryParse si la fecha corresponde a una válida o no.

    Dim fecha As Date
    
     If Not Date.TryParse(mtbfechainicio.Text, fecha) Then
        MessageBox.Show("No es una fecha válida.")
       Exit Sub 'Sale
     End If
    
     MessageBox.Show(fecha.ToShortDateString())

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    miércoles, 9 de noviembre de 2016 17:47
  • lo que no me ensena ahi es como grabo el dato, solo lo validas, explicame major a ver si entiendo
    miércoles, 9 de noviembre de 2016 17:59