【问题标题】:To insert datepicker date to sql server将 datepicker 日期插入 sql server
【发布时间】:2015-08-19 06:37:11
【问题描述】:

我想从 datepicker 中插入一个日期到 sql server。表格如下:

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."

【问题讨论】:

    标签: jquery asp.net sql-server datepicker date-format


    【解决方案1】:

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

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

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

    【讨论】:

    • 为数据库msdn.microsoft.com/en-us/library/ms189491.aspx设置日期格式
    • @MukeshPanwar - 您可以使用 SQL 的Convert 方法转换日期。
    • 令人惊讶的是,它再次开始给我一条错误消息“字符串未被识别为有效的日期时间。” @RahulSingh
    • @MukeshPanwar - 这意味着存储在文本框中的日期格式不正确,即使解析它应该是正确格式的日期。
    【解决方案2】:
    DateTime result;
    result = DateTime.ParseExact("your_date", format, provider);
    

    这将解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      相关资源
      最近更新 更多