Cómo insertar un valor de tipo DateTime [duplicado]

Nov 30 2020

En mi tabla, tengo dos columnas StartedDatey EndDateambas están definidas como Datetipo de datos.

Estoy tratando de insertar valores para estas dos columnas a través de un campo de texto de tipo fecha como se muestra a continuación:

<asp:Textbox type="date" ID="startDate" runat="server"></asp:Textbox>
<asp:Textbox type="date" ID="endDate"  runat="server"></asp:Textbox>

Estoy tratando de recuperar el valor de estos cuadros de texto e insertarlos en mi base de datos.

Este es mi código para la inserción:

// Insert a new row in the Task table
SqlDataSource1.InsertParameters["Task"].DefaultValue = ((TextBox)GridView1.FooterRow.FindControl("txtTask")).Text;
SqlDataSource1.InsertParameters["StartedDate"].DefaultValue = ((TextBox)GridView1.FooterRow.FindControl("startDate")).Text;
SqlDataSource1.InsertParameters["EndDate"].DefaultValue = ((TextBox)GridView1.FooterRow.FindControl("endDate")).Text;
SqlDataSource1.InsertParameters["Done"].DefaultValue = ((CheckBox)GridView1.FooterRow.FindControl("DoneCbx")).Checked == true ? "true" : "false";
SqlDataSource1.InsertParameters["Priority"].DefaultValue = ((TextBox)GridView1.FooterRow.FindControl("PriorityTxt")).Text;

// Method to execute the insert 
SqlDataSource1.Insert();

Insertar funciona bien, excepto para los campos de fecha porque el valor recuperado del cuadro de texto debe convertirse a DateTime.

Probé los métodos Convert.ToDateTimey Datetime.Parse, pero en ambas ocasiones aparece el siguiente error:

No se puede convertir implícitamente el tipo 'System.DateTime' en 'cadena'

Respuestas

Backs Nov 30 2020 at 11:00

Método DateTime.Parse :

SqlDataSource1.InsertParameters["StartedDate"].DefaultValue = DateTime.Parse(((TextBox)GridView1.FooterRow.FindControl("startDate")).Text);