黑马程序员技术交流社区

标题: SQL server中的null值问题 [打印本页]

作者: 马晓凤    时间: 2013-7-7 20:40
标题: SQL server中的null值问题
SQL server中没有输入值得,表示为null,显示为<NULL>,我们在后台读到数据库中的数据后,用哪个类来判断某行的某个字段值不为空比较好
例如:if(dt.Rows[n]["TypeId"].ToString()!="")
{
model.TypeId=int.Parse(dt.Rows[n]["TypeId"].ToString());
}
作者: baoshouying    时间: 2013-7-7 21:08
  string.IsNullOrEmpty
作者: 许庭洲    时间: 2013-7-8 06:46
NULL表示空值,一个字段如果没有被赋值,那么它的值就是NULL,NULL并不代表没有值而是表示值未知。
作者: 彭家贰小姐    时间: 2013-7-8 09:58
dt.Rows[n]["TypeId"] is DBNull 这样可以判断
作者: dongqinglove    时间: 2013-7-8 10:59
if(dt.Rows[n]["TypeId"]  == System.DBNull.Value)
{
  处理代码
}
作者: zhangcheng5468    时间: 2013-7-8 17:49
处理数据库中Null的问题是一个常规的操作,在很多操作数据库的位置都会遇到这个问题,所以我们一般封装两个处理Null的方法,我习惯封转到SqlHelper中。
  1. static class SqlHelper
  2.     {
  3.         /// <summary>
  4.         /// 处理来自数据库的数据
  5.         /// </summary>
  6.         /// <param name="value">从数据中读取的数据</param>
  7.         /// <returns></returns>
  8.         public static object FromDBValue(object value)
  9.         {
  10.             if (value==DBNull.Value)
  11.             {
  12.                 return null;
  13.             }
  14.             else
  15.             {
  16.                 return value;
  17.             }
  18.         }
  19.         /// <summary>
  20.         /// 处理去往数据库的数据
  21.         /// </summary>
  22.         /// <param name="value">将要去往数据库中的数据</param>
  23.         /// <returns></returns>
  24.         public static object ToDBValue(string value)
  25.         {
  26.             if (string.IsNullOrEmpty(value))
  27.             {
  28.                 return DBNull.Value;
  29.             }
  30.             else
  31.             {
  32.                 return value;
  33.             }
  34.         }
  35.     }
复制代码
以上是在SqlHelper中封装的两个处理空值的方法。需要时直接调用即可:
如:object obj = SqlHelper.FromDBValue(dt.Rows[n]["TypeId"]); //将obj转型为需要的数据类型即可


作者: zhangcheng5468    时间: 2013-7-9 13:53
zhangcheng5468 发表于 2013-7-8 17:49
处理数据库中Null的问题是一个常规的操作,在很多操作数据库的位置都会遇到这个问题,所以我们一般封装两个 ...

恩恩,杨老师教的~:lol
作者: 高文咪    时间: 2013-7-10 10:51
if(!string.IsNullOrEmpty(要判断的值))
{
      执行代码;
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2