ASP.NET C#日期时间

本文关键字:时间 日期 NET ASP | 更新日期: 2023-09-27 18:29:40

我想使用以下参数通过文本框将日期保存到SQL Server数据库:

SqlParameter p15 = new SqlParameter
{   
    SqlDbType = SqlDbType.Date,
    ParameterName = "prj_start_date",
    SqlValue = txtStartDate.Text
};

并且出现以下错误:

将nvarchar值"12-12-2015"转换为数据类型int时转换失败。

我已经尝试使用转换铸造,但这不是工作

此外,textmode= date在IE 中不起作用

提前感谢

ASP.NET C#日期时间

最好使用jQuery DatePicker,而不是使用用户输入,这样可以避免来自最终用户的无效输入。

您收到此错误是因为您正在将字符串类型传递给日期类型。

试试这个:

string enteredDate = txtStartDate.Text.Trim();
DateTime date = DateTime.Parse(enteredDate, InvariantCulture);
SqlParameter p15 = new SqlParameter
{
    SqlDbType = SqlDbType.Date,
    ParameterName = "prj_start_date",
    SqlValue = date;
};

您是否考虑过在C#中将文本解析为DateTime对象?ParseExact允许您提供特定的格式字符串。然后,您就不必在SQL级别上处理Text,特别是考虑到您的日期表单是非ISO标准的,并且可以接受文化解释。