2012-02-24 114 views
0

我有一个数据表,其数据被馈送到一类:为什么GetFieldValue为此DateTime返回null?

MyProperty = myDataRow.GetFieldValue("MyPropertyColumn", DataUtils.NullDateTime); 

属性myProperty的可为空的DateTime和列的值是:

'2010-09-27 00:00:00.000' AS 'MyPropertyColumn', 

当调试器遍历上面的第一行代码,MyProperty在我期望从DataTable设置为DateTime时为空。有没有任何理由为什么这个日期没有被正确解析?

+1

,因为这是一个字符串和NOT一个DateTime它受解析而这又取决于几个设置.. 。为什么你不使用DateTime? – Yahia 2012-02-24 16:15:52

+0

表格列的类型是什么?它是像VARCHAR或日期类型的文本类型? – 2012-02-24 16:18:10

+0

我将列的值切换到GETDATE(),它工作,所以它似乎是键入问题。然后,我将我的专栏设置为“CONVERT(DATETIME,'2010-09-27 00:00:00.000')”,并且工作正常。 – 2012-02-24 16:21:37

回答

1

的列值需要传递在作为DateTime和不是字符串,从而:

CONVERT(DATETIME, '2010-09-27 00:00:00.000') AS 'MyPropertyColumn',