繁体   English   中英

CAST无效(OLEDB日期)

[英]CAST not valid (OLEDB Date)

美好的一天。 我正在使用OLEDB连接来连接到DB2数据库。 我在从.NET内部数据库映射日期时遇到问题。

在我的业务对象中,我定义了一个private DateTime _genftmdpdate=DateTime.MinValue; 但是每当我从数据库中获取日期并填充到变量中时,都会得到Specified Cast无效错误

myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE"))

请帮助我,因为我不想一直将日期转换为字符串。

编辑---效果不好myftModInstall.genFtMDPDate = Convert.ToDateTime(myRecord.GetType((System.Data.OleDb.OleDbType.Date)(myRecord.GetOrdinal("GENFTMDPDATE"))));

IBMDA *提供程序默认将DB2 Date数据类型映射为字符串。 您必须在连接字符串中覆盖默认值:

convert date time to char=FALSE

看到这个问题: 在SSRS报告中使用AS400日期

关于连接属性的IBM支持文章: http : //www-01.ibm.com/support/docview.wss?uid=nas8N1017400

在尝试检索值之前,请确保检查NULL。

if(!myRecord.IsDBNull(myRecord.GetOrdinal("GENFTMDPDATE"))
    myftModInstall.genFtMDPDate = myRecord.GetDateTime(myRecord.GetOrdinal("GENFTMDPDATE"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM