0

我正在尝试将DateTime值存储在数据类型为 DateTime 的数据库字段“Date”中。

但我得到以下错误:

字符串未被识别为有效的日期时间。

我的代码如下:

dr["Date"] = System.Convert.ToDateTime(txtDate.Text);

dr["Date"]给我数据库列名称“日期”,其数据类型是我数据库中的日期时间。
我使用txtDate 文本框的日历扩展器获取 DateTime 值,
然后将该值转换为DateTime数据类型,以便我可以将该值插入到数据库表中。
但是,当我提供正确的数据类型时,为什么我会遇到错误。

4

3 回答 3

2

我想分享我到底做错了什么,尽管它会让我看起来像个傻瓜。但希望它会帮助其他有同样问题的人。

我为日历扩展器提供了错误的格式,如下所示:

yyyy-mm-dd

正确的格式应该是:

yyyy-MM-dd

于 2013-07-03T07:05:08.257 回答
0

一些代码可以捕捉到这样的东西并且不会导致异常:

if (DateTime.TryParse(txtDate.Text, out dateValue)) 
{
      dr["Date"] = dateValue;
}
else
{
      Debug.Write("TextBox Value '{0}' isn't a valid datetime.", txtDate.Text);
}
于 2013-07-03T07:00:10.097 回答
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
            }
于 2013-07-03T07:00:54.080 回答