none
como insertar dato de fecha capturada de la pc RRS feed

  • Pregunta

  • Tengo un TextBox que me captura la fecha de la maquina mediante este codigo:

    TextBox1.Text = DateTime.Now.ToString("dd/MM/yyyy")

    tengo un campo en mi tabla de sql llamado Fecha de tipo date

    Cuando trato de insertar el dato

    insert into tblprueba (fecha) values('" & TextBox1.Text &"')",con)

    me arroja este error:

    conversion failed when converting date and /or time from character string


    samuel

    lunes, 24 de julio de 2017 20:02

Respuestas

  • La razón es que el textbox tiene la fecha en formato dd/MM/yyyy, mientas que las sentencias SQL requieren que las fechas se expresen como MM/dd/yyyy.

    Podrías usar manipulación de cadenas para cambiar días y meses en la fecha, pero no es lo ideal. La forma "buena" de hacer estas cosas es convertir la fecha a DateTime, y luego parametrizar la sentencia y pasarle el DateTime al parámetro. El propio sistema de parametrización se encarga de usar el formato correcto, y además te evita la vulnerabilidad ante inyecciones de SQL que tiene la sentencia que estás usando ahora mismo.

    • Marcado como respuesta Samuel Ignacio lunes, 24 de julio de 2017 20:09
    lunes, 24 de julio de 2017 20:07