Как вставить значение типа DateTime [дубликат]

Nov 30 2020

В моей таблице есть два столбца, StartedDateи EndDateоба они определены как Dateтип данных.

Я пытаюсь вставить значения для этих двух столбцов через текстовое поле типа date, как показано ниже:

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

Я пытаюсь получить значение из этих текстовых полей и вставить их в свою базу данных.

Это мой код для вставки:

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

Вставка работает нормально, за исключением полей даты, потому что значение, полученное из текстового поля, необходимо преобразовать в DateTime.

Я пробовал Convert.ToDateTimeи Datetime.Parseметоды, но оба раза получаю следующую ошибку:

Невозможно неявно преобразовать тип System.DateTime в строку

Ответы

Backs Nov 30 2020 at 11:00

DateTime.Parse метод:

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