简体   繁体   English

向SQL Server插入datepicker日期

[英]To insert datepicker date to sql server

I want to insert a date from datepicker to sql server.The table is as below : 我想从datepicker插入一个日期到sql server.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

and the datepicker is as below : 和日期选择器如下:

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

I do this using the below code-behind: 我使用下面的代码执行此操作:

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

However, it throws an error 但是,它会引发错误

  "Error converting data type nvarchar to date."

You need to pass DateTime object to your DB rather than passing a String (Textbox.Text returns String), you can use DateTime.Parse :- 您需要将DateTime对象传递给数据库,而不是传递String (Textbox.Text返回String),可以使用DateTime.Parse :-

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

You can also use DateTime.ParseExact method. 您也可以使用DateTime.ParseExact方法。

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

This will solve your problem. 这样可以解决您的问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM