null、DBNull,以及 Empty 的关系

博主在项目中遇到问题并总结,通过一段 SQL 代码查询用户信息,分析了 4 种情况:不存在对应记录时 obj 为 null;字段在库中为 [NULL] 时 obj 为 DBNull.Value;字段为 [] 时 obj 为 String.Empty;有实际值时可通过特定方法获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  今天在做项目的时候遇到了这个问题,现在总结一下。
 
  看这段代码:
 
  string strSql = "Select Name From UserInfos Where ID = 8"
  object obj = SqlType.ExecuteScalar(strSql);
 
  共有4种情况可能发生,分别来看一下。
 
  1、不存在 ID = 8 的记录。此时,obj == null。
  2、表中有 ID = 8 的记录,但是,该字段在库中以[NULL]形式表示。此时,obj == DBNull.Value。
  3、表中有 ID = 8 的记录,但是,该字段在库中以[]形式表示。此时,obj == String.Empty。
  4、表中有 ID = 8 的记录,而且还是一个实实在在的值,像这样[Jeky]。此时,可以通过这种方法来获取该值:
  string name = "" + obj;
  Response.Write (name); // 输入值:Jeky

转载于:https://www.cnblogs.com/jeky/archive/2005/12/30/308405.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值