C#读取Oracle中DATE类型的值,数据表中为空时,怎么去读?

GetOracleDateTime                GetDateTime()区别:

数据表中DATE类型的字段 为空是用GetOracleDateTime ()去读取。用GetDateTime()读取时,会发生异常。

具体分析如下:

............

//链接数据库

 OracleDataReader reader = cmd.ExecuteReader();

读取DATE类型的值,赋给一个string 类型字段,

string   str=reader.GetOracleDateTime(4).tostring();//4代表是在Oracle数据库表中的第4列

如果数据库表中 有值的话,得到时间格式是 yyyy-mm-dd  hh-mm-ss  例如:“2013-08-07 11:34:24”

这种情况就可以直接读出了。但是如果想要只要 日期,而去掉时间

做这样的转换:string  str1=DateTime.Parse(str).ToShortDateString()//----------强制转换为DateTime类型的,在选取DateTime类型

                                                                                                    //-----------的ToShortDateString()转换属性,就得到仅有日期了

例如:“2013-08-07 11:34:24” 就 转换成了   ”2013-08-07“

难点:如果Oracle中数据表中不含有日期,为空时     其返回值问题: 

  GetOracleDateTime类型GetOracleDateTime()返回的是NULL 

 而DateTime类型GetDateTime()返回的不是NULL,所以为空是要用GetOracleDateTime()读取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值