将日期选择器日期插入 sql 服务器

To insert datepicker date to sql server

我想从日期选择器中插入一个日期到 sql server.The table 如下:

Create table testDate
(
EventStart date,
EventEnd date
)

Create proc sptestdate
@EventStart date,
@EventEnd date
as
begin
Insert into testDate(EventStart,EventEnd) values(@EventStart,@EventEnd)
end

日期选择器如下:

 <script>
    $(function () {
        $(".datepicker").datepicker({
            dateFormat: "dd/mm/yy"
        });
    });
</script>

我使用以下代码隐藏来执行此操作:

    protected void Button1_Click(object sender, EventArgs e)
{
    string CS = ConfigurationManager.ConnectionStrings["ss"].ConnectionString;
    using (SqlConnection con = new SqlConnection(CS))
    {
        con.Open();
        SqlCommand cmd = new SqlCommand("sptestdate", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@EventStart", SqlDbType.DateTime).Value = txtEventStart.Value;
        cmd.Parameters.AddWithValue("@EventEnd", SqlDbType.DateTime).Value = txtEventEnd.Value;
        cmd.ExecuteNonQuery();
    }
}

但是,它会抛出一个错误

  "Error converting data type nvarchar to date."

您需要将 DateTime 对象传递给您的数据库而不是传递 String (Textbox.Text returns 字符串),您可以使用 DateTime.Parse : -

DateTime.Parse(txtEventStart.Value);
DateTime.Parse(txtEventEnd.Value);

您也可以使用DateTime.ParseExact方法。

DateTime result;
result = DateTime.ParseExact("your_date", format, provider);

这将解决您的问题。