本文介绍了DataReader的值转换为一到一个可空变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图运行下面的代码,但得到的铸件错误。
我怎么可以重写我的代码才达到相同?

I'm trying to run the following code but get a casting error.How can I rewrite my code to achive the same ?

boolResult= (bool?)dataReader["BOOL_FLAG"] ?? true;
intResult= (int?)dataReader["INT_VALUE"] ?? 0;



感谢

Thanks

推荐答案

使用上的数据读者IsDBNull以便在方法......例如:

Use the "IsDbNull" method on the data reader... for example:

bool? result = dataReader.IsDbNull(dataReader["Bool_Flag"]) ? null : (bool)dataReader["Bool_Flag"]

修改

您会需要做一些类似于:
布尔? nullBoolean = NULL;

You'd need to do something akin to:bool? nullBoolean = null;

你不得不

bool? result = dataReader.IsDbNull(dataReader["Bool_Flag"]) ? nullBoolean : (bool)dataReader["Bool_Flag"]

这篇关于DataReader的值转换为一到一个可空变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 21:32