问题标签 [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 投票
8 回答
44348 浏览

asp.net - 如何处理从“DBNull”类型到“String”类型的转换无效

我需要一些关于如何处理以下内容的期望建议:- 我有一个数据字段 misc_text_2,它的类型为 varchar(25),并且允许为 NULL。现在,如果我使用以下语法

我不断收到错误异常详细信息:System.InvalidCastException:从“DBNull”类型到“String”类型的转换无效。

我知道我错过了什么,但什么...

提前致谢

0 投票
3 回答
1074 浏览

c# - 将字符串或 NULL 插入 SQL Server 数据库时出现问题

我刚刚阅读了这篇文章的最佳答案:
Problem inserting string or NULL into SQL Server database

如果我错了,请纠正我,但是 ?? 运算符不仅可以用于相同类型的两个变量,如果不是,我将不胜感激,如果有人能解决我的小问题。

我试图在我的项目中插入一些类似于下面的代码。

但 Visual Studio 抱怨以下消息:
“操作员 '??' 不能应用于‘string’和‘System.DBNull’类型的操作数”

0 投票
5 回答
8597 浏览

dataset - 数据集字段 DBNull -> int?

SQLServer int 字段。值有时为空。DataAdapter 填充数据集 OK 并可以在 DatagridView 中显示数据 OK。

尝试以编程方式从数据集中检索数据时,Dataset 字段检索代码会引发 StronglyTypedException 错误。

通过在 get 访问器中检查 DBNull 并返回 null 解决了这个问题,但是......当数据集结构被修改(仍在开发中)时,我的更改(不出所料)消失了。

处理这种情况的最佳方法是什么?看来我被困在数据集级别处理它。是否有某种属性可以告诉自动代码生成器保留更改?

0 投票
6 回答
181407 浏览

.net - SQLite 等效于 ISNULL()、NVL()、IFNULL() 或 COALESCE()

我想避免在我的代码中进行许多类似以下的检查:

我想我可以通过执行以下操作让我的查询处理空值:

虽然我正在使用 SQLite,但它似乎无法识别该isnull功能。我还尝试了一些在其他数据库(和)中识别的等效数据库NVL(),但 SQLite 似乎无法识别它们中的任何一个。IFNULL()COALESCE()

有没有人有任何建议或知道更好的方法来做到这一点。不幸的是,数据库没有所有字段的默认值。另外,在某些情况下我需要使用一些LEFT JOIN子句,其中一些返回的字段将为空,因为LEFT JOIN表中的匹配记录将不存在。

0 投票
3 回答
25566 浏览

entity-framework - 如何在实体框架中将字段设置为 DBNull

如何在实体框架中将字段设置为 DBNull?这些字段是强类型的,因此您不能将其设置为等于 DBNull.Value,而且我没有找到任何方法将字段设置为 DBNull。似乎这是必须做的事情,但经过大量谷歌研究后,我一无所获。

我正在尝试使用 vb.net 在实体框架中设置一个日期时间字段。这需要我写

这不会将该字段设置为 null,而是将其设置为默认日期值,这在 SQL Server 中不是有效的日期值。

0 投票
3 回答
12079 浏览

c# - LINQ to Dataset DBNULL 问题/空引用异常

我有以下 LINQ 查询,当我在 dtblDetail 中的“备注”列为空时,即使我测试它是否为空,它也总是会导致错误。

错误消息是:“表 'dtblDetails' 中列 'Remark' 的值是 DBNull。” 添加 d.IsRemarkNull() 的测试后,会引发空引用异常。

你能帮我解决这个问题吗?

我已经检查了以下网站,但除了我必须测试 DBNULL 之外没有发现任何有用的东西。但正如所说,这并不能解决我的问题。

0 投票
4 回答
26574 浏览

sql - Powershell and SQL parameters. If empty string, pass DBNull

I got this parameter:

Where the string $objUser.Telephone can be empty. If it's empty, how can I convert it to [DBNull]::Value?

I tried:

But that gives me the error:

Exception calling "ExecuteNonQuery" with "0" argument(s): "Failed to convert parameter value from a ResultPropertyValueCollection to a String."

And if I convert it to a string, it inserts an empty string "", and not DBNull.

How can this be accomplished?

Thanks.

0 投票
8 回答
1575 浏览

asp.net - 关于类型比较 ASP.NET 和 DBNull 的问题

我有一个从 MSSQL 数据库中提取文章记录的函数。有些是 PDF 的 URL,有些是存储在 SQL 中的实际文章。存储的文章在记录中没有 URL (DBNull),所以我希望能够解析它。我尝试了一个简单的测试:

但是,我得到了“ Conversion from type 'DBNull' to type 'String' is not valid.”异常。有趣的是,当我对上述条件进行观察时,它返回Trueor False

任何人都知道为什么会发生这种情况和/或解决此问题的方法吗?谢谢!

0 投票
2 回答
2388 浏览

c# - 当我使用 XmlSerialiser 反序列化它时,为什么我的 DbNull 不是单例?

我一直认为 DbNull.value 是单例。因此你可以做这样的事情:

VB.NET:

C#:

但是最近,我使用 XmlSerialiser 序列化了一个 DbNull 实例,突然它不再是单例了。类型比较操作(如 C#(obj 是 DBNull))工作正常。

代码如下:

为什么会这样?它是如何发生的?它可能发生在任何其他静态字段上吗?

PS:我知道 VB 代码示例正在进行参考比较,而 c# 正在调用 Object.Equals。两者都具有与 DBNull 相同的行为。我通常使用VB。

0 投票
3 回答
2514 浏览

c# - 如何处理来自 SQL Server 的 DBNull DateTime 字段?

当我检索具有空 DataTime 字段的行时出现此错误:

“srRow.Closed_Date”引发了“System.Data.StrongTypingException”类型的异常

我该如何正确处理这些?