A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaoxiang_04 中级黑马   /  2013-2-27 23:40  /  1644 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

:hug:1.        数据库中NULL和“”不一样,NULL和0也不一样
2.        数据库中NULL表示不知道
3.        数据库中使用SQL语句插入空数据,字段显示null,使用ADO.NET插入一条空数据,字段显示空白(就是什么都没有,INT字段为0)
4.        NULL不能通过大于、小于或者’’查询出来,NULL只能通过 select * from table where 列明 is null 查询null字段。
5.        ADO.NET无法直接向数据库插入一条NULL字段,同样也无法读取数据库传入进来的NULL字段
6.        传NULL需要在DAL层的SQLHELPER文件中,写FromDbValue和ToDbValue来转化数据库中的空值DBNull.Value和C#中的空值NULL
     //导出数据库NULL处理
        public static object FromDbValue(object value)
        {
            if (value == DBNull.Value)// DBNull.Value为object,表示数据库中NULL
           {
               return null;
           }
        else
        {
             return value;
           }
      }
      //导入数据库NULL处理
       public static object ToDbValue(object value)
       {
           if (value == null)
         {
              return DBNull.Value;
        }
          else
        {
             return value;
        }
      }
7.在数据库中,所以标记允许为空值的字段,在ADO.NET使用时,都需要转化,包括string,不可空字段Int,datetime加?变可空字段后的定义等。
欢迎大家批评指正,共同进步

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马