如何从数据库返回空值

考普斯

我正在尝试用查询返回的列表填充组合框。当我执行程序时,它给了我一个指定的强制转换无效错误(我在页面加载事件中执行了它)。除了主键外,我必须使用的数据库中的每个字段都可以为null。因此,我尝试使用DBNull.Value,但无法使我的(int)reader字段正常工作。为了更好的理解,我在下面提供了我的代码。我如何才能让我的(int)读取器与我的语句一起使用,以便在有空值时可以读取它们?

CustData cd = new CustData();
cd.CustomerID = (int)reader["CustomerID"];
cd.Name = reader["Name"] != DBNull.Value ? reader["Name"].ToString() : string.Empty;
cd.ShippingAddress = reader["ShippingAddress"] != DBNull.Value ? reader["ShippingAddress"].ToString() : string.Empty;
cd.ShippingCity = reader["ShippingCity"] != DBNull.Value ? reader["ShippingCity"].ToString() : string.Empty;
cd.ShippingState = reader["ShippingState"] != DBNull.Value ? reader["ShippingState"].ToString() : string.Empty;
cd.ShippingZip = (int)reader["ShippingZip"];
cd.BillingAddress = reader["BillingAddress"] != DBNull.Value ? reader["BillingAddress"].ToString() : string.Empty;
cd.BillingCity = reader["BillingCity"] != DBNull.Value ? reader["BillingCity"].ToString() : string.Empty;
cd.BillingState = reader["BillingState"] != DBNull.Value ? reader["BillingState"].ToString() : string.Empty;
cd.BillingZip = (int)reader["BillingZip"];
cd.Territory = reader["Territory"] != DBNull.Value ? reader["Territory"].ToString() : string.Empty;
cd.Category = reader["Category"] != DBNull.Value ? reader["Category"].ToString() : string.Emptyy
贝洛基克斯

那是因为int不能为空。您需要使用int?nullable<int>(长手)将其设置为int或null值。

然后,您可以使用通常的.HasValue.Value等,以获得从该项目的价值。

编辑:为了增强我对此答案的评论的可见性。我建议不要检查NULL并将零存储到属性中,因为这样一来,当您进行保存时,即使系统未进行任何更改,您也将Null更改为零。现在,报告等可能会(经常)区分NULL和零,并且可能开始做奇怪的事情!

空不等于零!如果您认为它确实可以解决...如果我确实确实想记录零,该怎么办?您如何区分真正的零和“现在为零”?做正确的事,省去自己的痛苦!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从数据库返回空值

来自分类Dev

如何从 Firebase 数据库中检索数据,DataSnapShot 返回空值和键

来自分类Dev

CodeIgniter返回空值数据库结果

来自分类Dev

在android中读取mysql数据库返回空值

来自分类Dev

.Net Core读取SQL数据库返回空值

来自分类Dev

如何修剪从数据库返回的值?

来自分类Dev

我从数据库中进行选择,但是它返回空值

来自分类Dev

Promise 返回空值,尽管它存在于数据库中

来自分类Dev

Select在远程MySQL数据库上返回空结果

来自分类Dev

Laravel 数据库查询返回空集合

来自分类Dev

Vue,firebase 数据库返回空数组

来自分类Dev

sqlite 数据库返回空对象引用

来自分类Dev

我编写的用于在数据库中获取数据的函数返回空值。数据库中有数据。扑扑

来自分类Dev

MULE_JDBC_UDATE_COUNT返回空值,即使从数据库中删除数据后

来自分类Dev

如何从数据库返回单个值?

来自分类Dev

如何处理数据库的零返回值?

来自分类Dev

从数据库转换并返回通用值

来自分类Dev

在节点中返回数据库值

来自分类Dev

将Firebase数据库阵列返回到另一个函数,但返回空

来自分类Dev

对数据库的查询返回空或null,但是保存数据确实有效

来自分类Dev

CodeIgniter不断在数据库查询中返回空数组

来自分类Dev

猫鼬.save()返回空错误对象,不保存在数据库中

来自分类Dev

mysql_real_escape_string在数据库连接内返回空/空白

来自分类Dev

尝试获取项目或插入时使用房间持久性返回空数据库

来自分类Dev

如何删除特定的数据库值

来自分类Dev

如何从数据库设置SelectList值

来自分类Dev

如何从包含数据库查询的Node.js函数返回值

来自分类Dev

C#/ JSON如何处理从数据库查询返回的NULL值?

来自分类Dev

Web API如何通过HttpPost从数据库返回嵌套的JSON值?

Related 相关文章

  1. 1

    如何从数据库返回空值

  2. 2

    如何从 Firebase 数据库中检索数据,DataSnapShot 返回空值和键

  3. 3

    CodeIgniter返回空值数据库结果

  4. 4

    在android中读取mysql数据库返回空值

  5. 5

    .Net Core读取SQL数据库返回空值

  6. 6

    如何修剪从数据库返回的值?

  7. 7

    我从数据库中进行选择,但是它返回空值

  8. 8

    Promise 返回空值,尽管它存在于数据库中

  9. 9

    Select在远程MySQL数据库上返回空结果

  10. 10

    Laravel 数据库查询返回空集合

  11. 11

    Vue,firebase 数据库返回空数组

  12. 12

    sqlite 数据库返回空对象引用

  13. 13

    我编写的用于在数据库中获取数据的函数返回空值。数据库中有数据。扑扑

  14. 14

    MULE_JDBC_UDATE_COUNT返回空值,即使从数据库中删除数据后

  15. 15

    如何从数据库返回单个值?

  16. 16

    如何处理数据库的零返回值?

  17. 17

    从数据库转换并返回通用值

  18. 18

    在节点中返回数据库值

  19. 19

    将Firebase数据库阵列返回到另一个函数,但返回空

  20. 20

    对数据库的查询返回空或null,但是保存数据确实有效

  21. 21

    CodeIgniter不断在数据库查询中返回空数组

  22. 22

    猫鼬.save()返回空错误对象,不保存在数据库中

  23. 23

    mysql_real_escape_string在数据库连接内返回空/空白

  24. 24

    尝试获取项目或插入时使用房间持久性返回空数据库

  25. 25

    如何删除特定的数据库值

  26. 26

    如何从数据库设置SelectList值

  27. 27

    如何从包含数据库查询的Node.js函数返回值

  28. 28

    C#/ JSON如何处理从数据库查询返回的NULL值?

  29. 29

    Web API如何通过HttpPost从数据库返回嵌套的JSON值?

热门标签

归档