问题标签 [dbnull]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
107129 浏览

c# - null 和 System.DBNull.Value 有什么区别?

null 和 System.DBNull.Value 之间有什么区别吗?如果是,那是什么?

我现在注意到了这种行为-

当我使用 sql datareader 从数据库中检索数据时,虽然没有返回值,但if(rdr["Id"] != null)最终true抛出了将 null 转换为整数的异常。

但是,如果我使用if (rdr["Id"] != System.DBNull.Value)return false

null 和 System.DBNull.Value 有什么区别?

0 投票
5 回答
3828 浏览

c# - 如何检查数据读取器是否为空?

我有一个 aspx 页面,它允许用户将修改后的条目提交到数据库中,但是当用户单击Submit以触发存储过程时,我想首先运行检查以查看是否存在具有相同关系的修改行。

我正在传递以下查询的结果:

进入 aDataReader以确定该关系是否存在。

我需要它来确定阅读器是否返回NULL以允许程序执行,如果没有,则不允许用户保存信息。

我尝试了以下方法:

我什至尝试将阅读器传递给 adatatable并在没有任何运气的情况下运行它。

如何检查 DataReader 的结果null

0 投票
3 回答
17900 浏览

c# - 如何以更好的方式分配 DBNull?

我需要从 a 解析一个值DataRow并将其分配给另一个DataRow. 如果输入有效,那么我需要将其解析为 a double,或者DBNull向输出添加一个值。我正在使用以下代码:

有更好的方法吗?

0 投票
2 回答
7163 浏览

.net - 将空白字段值传递给存储过程 ASP .NET C#

如果文本框字段为空,我想将 SQL Server 2008 数据库表中的所有行返回到 SQL 数据源中。所以我用一个if @date IS NULL子句做了一个存储过程。

尽管存储过程在 Visual Studio 2008 中似乎运行良好,但实际网页没有显示任何结果。

我猜我必须向DBNull存储的过程发送一个值,如果textBox.Text == string.Empty. 我试过了,SqlDataSource1.SelectParameters.Add但似乎我收到了从DBNull.Value字符串到字符串的转换错误。

这是我问题的根源还是我错过了其他东西?如果文本字段为空白,我将如何传递DBNull.Value给存储过程?

0 投票
5 回答
28081 浏览

c#-4.0 - 在数据集中查找空值 - DataRow.IsNull 方法 vs ==DbNull.Value - c#

与检查行是否等于 DbNull.value 相比,使用 c# 方法 DataRow.IsNull 确定空值有什么好处?

对比

0 投票
4 回答
2163 浏览

c# - 如何可靠地检查可空属性是否不包含数据?DBNull 杀了我

我已经开始使用 Rob Conery 的 Massive。很棒的小“ORM”,性能非常好。但是,我在可空字段上遇到了 System.DBNull 比较的问题。

例如,我想检查一个属性是否与另一个属性匹配(在本例中为 long 类型)

抛出异常:运算符 '==' 不能应用于 'System.DBNull' 和 'long' 类型的操作数。在这种情况下,obj.MemberId 为 null(更具体地说,是 DBNull)。

好的,所以我首先检查它是否是 DBNull.Value 对吗?像这样:

很酷,至少在 obj.MemberId 是 DBNull 时有效,但当它不是(包含 long)时,另一个例外:运算符 '!=' 不能应用于 'long' 和 'System.DBNull' 类型的操作数

DBNull 正在杀死我。如何可靠地检查可空属性是否不包含数据?

0 投票
1 回答
2467 浏览

c# - DBNull.Value.Equals() 检查的性能如何?

我知道担心可能还不够,但是 DBNull.Value.Equals() 检查的性能如何?

特别是,这一行:

与原始代码(来自 Rob Conery 的 Massive 类)相比:

肯定会至少产生很小的影响,同样可能不是真正值得注意的,但我很好奇。转换的原因是因为它更容易在 ASP.NET MVC 视图中测试 null。

0 投票
3 回答
5224 浏览

vb.net - VB.Net 是我对 DataRow.IsNull 还是 Format(datetimevalue,"T") 的问题?

我正在开发一个新的 ASP.Net 4.0 数据驱动应用程序。在 DAL 中,我检查所有数据的 NULL 值,并在 NULL 时默认为正确的数据。我有一个奇怪的问题。两个约会回来了——一个我只需要时间。完整日期的第一行代码正常工作 - 但第二行代码错误指向格式字符串,但奇怪的部分是它在不使用格式字符串且仅返回 Date.MinValue 的 NULL 值上出错。当第二行获取数据时,它会正确格式化返回。

当 dr("tourtime") 为 NULL 时,错误出现在第二行 - 错误是:参数 'Expression' 不是有效值。

0 投票
4 回答
447 浏览

sql - 在 PostgreSQL(可能还有其他引擎)中,为什么 UNION 语句认为 NULL 值是相同的,而 UNIQUE 约束却没有?

我了解 SQL 标准允许在作为 UNIQUE 约束一部分的列中使用多个 NULL 值。

我不明白为什么 UNION 构造(至少在 PostgreSQL 中)将 NULL 值视为相同。例如:

0 投票
4 回答
5175 浏览

c# - C#:从函数返回 dbnull.value 或 system.type?

我想创建一个函数(c#):

但是没有从 int 到 DBNull.Value 的强制转换。有没有办法创建这样的功能?