将日期选择器日期插入 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);
这将解决您的问题。
我想从日期选择器中插入一个日期到 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);
这将解决您的问题。