日期格式的例外情况

时间:2014-01-10 19:56:47

标签: c# date gridview format

我的数据库包含日期类型的列 我的电脑以日期格式MM / dd / yyyy“en-us”运行 我有网格视图,我用它将数据从GV插入数据库 插入SQL命令它可以正常工作,没有任何异常。

当我尝试将计算机日期格式更改为dd / MM / yyyy时 当我运行我的应用程序时它会出现异常 (“不允许将数据从GV插入日期数据类型的数据库列”)

如何帮助解决此异常?

2 个答案:

答案 0 :(得分:1)

根据您的描述,听起来好像您正在使用内联SQL将记录写入数据库。如果是这种情况,那么正确的方法是以标准方式格式化DateTime。

对于SQL Server,标准格式为

theDate.ToString("yyyy-MM-dd HH:mm:ss.000")

但是,强烈建议尽可能使用参数化SQL而不是内联SQL(有些情况下不实用或可能)。在这种情况下,参数将正确处理日期的格式,因此您不必担心它。

答案 1 :(得分:0)

尝试使用 DateTime.ParseExact link to stackoverflow

在你的情况下,从字符串到数据库的解析将如下所示

string s = "01/10/2014"; // format dd/MM/yyyy

DateTime dt = 
DateTime.ParseExact(s, "dd/MM/yyyy", CultureInfo.InvariantCulture);