c# - 无法将列 int 设置为 null。请在数据行中使用 dbnull 代替

标签 c# asp.net

我正在从数据行获取数据,并且当行列中存在空值时遇到问题。如何更改下面提到的代码以读取空值?

Datarow dr_Out[j] = dr1.Field<double?>("" + Convert.ToString(columnNames[j]) + ""); 

在这一行,当下面有空值时,会发生错误。

cannot set column int to be null. please use dbnull instead in datarow

添加 DBNull 后面临这个

enter image description here

最佳答案

您可以按照错误提示进行操作:

    dr_Out[j] = DBNull.Value;
    double? myValue = dr1.Field<double?>("" + Convert.ToString(columnNames[j]) + "");

    if(myValue != null)
    {
        dr_Out[j] = myValue;
    }

关于c# - 无法将列 int 设置为 null。请在数据行中使用 dbnull 代替,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60639263/

相关文章:

C#字符串转句子

c# - 在 asp.net 中将数据表从一个页面发送到另一个页面

c# - File.Move/File.Copy 使用网络接口(interface)卡 (NIC)?

c# - 获取同名方法的集合

c# - 在 Action Filter onActionExecuting 上重定向时,请求的资源上存在错误 'Access-Control-Allow-Origin' header

c# - 为什么这个通用转换失败

jquery - 如何通过 Jquery 禁用 asp listitem 复选框

c# - 如何使用 prism.js 在 blazor 页面(blazor 服务器)中显示代码

c# - 初学者如何在 ASP C# 网页中维护状态

C# 委托(delegate)给 Java 和方法的异步处理