我正在尝试将 DateTime 值存储在数据库字段“Date”中,其数据类型为DateTime。
但我收到以下错误:
字符串未被识别为有效的DateTime。
我的代码如下:
dr["Date"] = System.Convert.ToDateTime(txtDate.Text);
dr["Date"]
为我提供数据库列名“Date”,其数据类型为数据库中的datetime
我使用 calender extender for txtDate textbox ,获得DateTime值
然后将该值转换为 DateTime 数据类型,以便我可以将该值插入数据库表
但是,当我提供正确的数据类型时,为什么我会遇到错误。
答案 0 :(得分:2)
我想分享一下我做错了什么,虽然它会让我看起来像个傻瓜。但希望它可以帮助其他人解决同样的问题。
我为日历扩展程序提供了错误的格式,如下所示:
YYYY-MM-DD
正确的格式应该是:
YYYY-MM-DD
答案 1 :(得分:0)
某些代码可以捕获这样的内容并且不会导致异常:
if (DateTime.TryParse(txtDate.Text, out dateValue))
{
dr["Date"] = dateValue;
}
else
{
Debug.Write("TextBox Value '{0}' isn't a valid datetime.", txtDate.Text);
}
答案 2 :(得分:0)
使用DateTime.TryParseExact
根据格式提取DATETIME
DateTime yourDate;
var formats = new[] { "yyyy-MM-dd" };
if (DateTime.TryParseExact(s, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out yourDate))
{
dr["Date"] = yourDate;
}
else
{
// Do with Invalid DateTime
}