Cómo insertar un DateTime NULL por medio de un form al Sql Server?

publicado por: Anonymous

Por medio de un formulario se puede ingresar una fecha y luego lo quiero insertar en la base de datos.
La cuestión es que quiero que permita ingresar fecha NULA (se deja vacio el campo en el formulario).

Datetime fecha = Request.Form["fecha"];

<form action="#" method="post">
        <label>Fecha Impresion:</label>
        <input type="text" name="fecha" value="" />
        <br />
</form>

db.Query("INSERT INTO Fecha VALUES(@0)", fecha);

Cómo puedo hacer? Ya que me tira un error de que fecha no puede ser nula y no se cómo parsearlo para que lo envie como nulo.

solución

Me parece que el problema no es por ser nulo, si no por estar en blanco el campo fecha. Intenta usar este código:

db.Query("INSERT INTO Fecha VALUES(@0)", fecha=="" ? null:fecha);

O quizá:

if (fecha=="")
{
    db.Query("INSERT INTO Fecha VALUES(@0)", DBNull.Value);
}
else
{
   db.Query("INSERT INTO Fecha VALUES(@0)", fecha);
}

No tengo ahora para probarlo 🙂

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *