在我的业务对象中,我定义了private DateTime _genftmdpdate=DateTime.MinValue;
但每当我从数据库中获取日期并填充我的变量时,我得到指定的投射无效错误
myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE"))
请帮助我,因为我不想一直将日期转换为字符串。
编辑
---这不会有效myftModInstall.genFtMDPDate = Convert.ToDateTime(myRecord.GetType((System.Data.OleDb.OleDbType.Date)(myRecord.GetOrdinal("GENFTMDPDATE"))));
答案 0 :(得分:1)
IBMDA *提供程序默认将DB2 Date数据类型映射到字符串。您必须覆盖连接字符串中的默认值:
convert date time to char=FALSE
请参阅此问题:Using AS400 date in SSRS Report
关于连接属性的IBM支持文章:http://www-01.ibm.com/support/docview.wss?uid=nas8N1017400
答案 1 :(得分:0)
确保在尝试检索值之前检查NULL。
if(!myRecord.IsDBNull(myRecord.GetOrdinal("GENFTMDPDATE"))
myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE"));