c# - 将 datareader 值转换为可空变量

标签 c# sql

我正在尝试运行以下代码,但遇到了转换错误。 我怎样才能重写我的代码来实现同样的目标?

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

谢谢

最佳答案

在数据读取器上使用“IsDbNull”方法...例如:

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

编辑

您需要执行类似以下操作: bool ? nullBoolean = null;

你有

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

关于c# - 将 datareader 值转换为可空变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5409936/

相关文章:

c# - VS/NuGet 如何决定创建 csproj 引用以及差异意味着什么?

c# - 如何连接两个字节数组

c# - 相当于Visual Studio的 "Properties Window"的控件?

sql - 为什么函数不返回 bool 值? (查询没有结果数据的目的地)

数据库 |查询为员工分配的休假和休假,并应显示休假类别

c# - 如何从一个方法返回多个值?

c# - 将项目添加到 Winforms 中 ListView 的特定列

PHP/MYSQL : Database Table For Email Notifications

sql - Golang SQL 查询语法验证器

mysql - PHP - MySQL 查询三个表