Jak wstawić wartość typu DateTime [duplicate]

Nov 30 2020

W mojej tabeli mam dwie kolumny StartedDatei EndDateobie są zdefiniowane jako Datetyp danych.

Próbuję wstawić wartości dla tych dwóch kolumn za pomocą pola tekstowego typu data, jak pokazano poniżej:

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

Próbuję pobrać wartość z tych pól tekstowych i wstawić je do mojej bazy danych.

Oto mój kod do insertu:

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

Wstaw działa dobrze, z wyjątkiem pól daty, ponieważ wartość pobrana z pola tekstowego musi zostać przekonwertowana na DateTime.

Próbowałem Convert.ToDateTimei Datetime.Parsemetody, ale za każdym razem otrzymuję następujący błąd:

Nie można niejawnie przekonwertować typu „System.DateTime” na „ciąg”

Odpowiedzi

Backs Nov 30 2020 at 11:00

DateTime.Parse, metoda:

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