【发布时间】:2012-02-24 16:14:10
【问题描述】:
我有一个数据表,它的数据被输入到一个类中:
MyProperty = myDataRow.GetFieldValue("MyPropertyColumn", DataUtils.NullDateTime);
属性 MyProperty 是 Nullable DateTime,列的值为:
'2010-09-27 00:00:00.000' AS 'MyPropertyColumn',
当调试器跳过上面的第一行代码时,当我希望将 MyProperty 设置为 DataTable 中的 DateTime 时,MyProperty 为空。这个日期没有被正确解析有什么原因吗?
【问题讨论】:
-
因为它是一个字符串而不是一个 DateTime 它需要解析,这又取决于几个设置......你为什么不使用 DateTime ?
-
表格列的类型是什么?它是像 VARCHAR 这样的文本类型还是日期类型?
-
我将列的值切换为 GETDATE() 并且它起作用了,所以这似乎是打字的问题。然后我将我的列设置为“CONVERT(DATETIME, '2010-09-27 00:00:00.000')”并且它起作用了。
-
System.Data.DataRow没有名为GetFieldValue的方法。GetFieldValue是如何定义的?是你自己写的扩展方法吗? -
Olivier - 你说得对,它是一种扩展方法。我没有意识到它,因为它来自一个引用的库。也许我应该删除这个问题,因为它是一个非常具体的案例?