Como inserir valor do tipo DateTime [duplicado]

Nov 30 2020

Na minha tabela, tenho duas colunas StartedDatee EndDate, ambas são definidas como Datetipo de dados.

Estou tentando inserir valores para essas duas colunas por meio de um campo de texto do tipo data, conforme mostrado abaixo:

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

Estou tentando recuperar o valor dessas caixas de texto e inseri-los em meu banco de dados.

Este é o meu código para a inserção:

// 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();

Inserir funciona bem, exceto para os campos de data, porque o valor recuperado da caixa de texto precisa ser convertido para DateTime.

Tentei os métodos Convert.ToDateTimee Datetime.Parse, mas nas duas vezes recebo o seguinte erro:

Não é possível converter implicitamente o tipo 'System.DateTime' em 'string'

Respostas

Backs Nov 30 2020 at 11:00

Método DateTime.Parse :

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