`

将空值转换为数据库字段的NULL形式

阅读更多
[size=medium]
        /// <summary>
        /// 将空("")或null值的字符串转换为空字段
        /// </summary>
        /// <param name="obj">传入的参数</param>
        public static object GetSqlNull(object obj)
        {
            if (string.IsNullOrEmpty(obj.ToString()))
            {
                return DBNull.Value;
            }
            else
            {
                return obj;
            }
        }

        /// <summary>
        /// 将值类型(整型、浮点型、Decimal型、boo型、可空类型(Nullable<T>泛型结构体))转换为空字段
        /// </summary>
        /// <param name="obj">传入的参数</param>
        public static object GetSqlNull(object obj)
        {
            return obj == null ? (object)DBNull.Value : obj;
        }   


System.Nullable<T> 的简单理解        
其中一种用途:数据库中的int类型可以为空 在C# 中的处理为int?  

限制:T必须为值类型,为引用类型没有意义   

范围:可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。

基本属性:Nullable<T> 结构的两个基础成员为 HasValue和 Value属性。如果 Nullable<T>) 对象的 HasValue属性为 true,则可以使用 Value属性访问该对象的值。如果 HasValue属性为 false,则表示尚未定义该对象的值,并且尝试访问 Value属性时会引发异常


[/size]
分享到:
评论

相关推荐

    laravel-nullable-field:自动为laravel中的空字段设置空值

    注意,必须将数据库字段配置为允许空值。 如果该字段未配置为允许null,则更新版本MySQL会将值转换为空字符串。 请注意,旧版本实际上可能会返回错误。 当分配给给定属性的值为null时,Laravel(5.1)当前不支持...

    数据库大作业论坛管理系统数据库设计.doc

    关系模式 将作者实体转换为作者关系(作者ID、作者昵称、性别、年龄、职业、爱好) (主码:作者ID,作者昵称 外码:作者昵称) 将帖子实体转换为帖子关系(作者昵称、帖子编号、发帖日期时间、等级) (主码:帖子...

    mysql 转换NULL数据方法(必看)

    使用mysql查询数据库,当执行left join时,有些关联的字段内容是NULL,因此获取记录集后,需要对NULL的数据进行转换操作。 本文将提供一种方法,可以在查询时直接执行转换处理。使获取到的记录集不需要再进行转换。 ...

    SpringBoot项目中处理返回json的null值(springboot项目为例)

    本文以spring boot项目为例给大家介绍SpringBoot项目中处理返回json的null值问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下

    mysql中将null值转换为0的语句

    mysql中将null值转换为0的语句,在mysql数据库开发中,如果后期添加了字段那么这些值为空值null,我们在使用者需要将null转换为0方便后期的控制就需要下面的代码了。

    AppFramework数据库访问组件_代码生成插件_V1.1.rar

    IBatisNet数据映射器会自动把int.MinValue转换为NULL插入到数据库,而从数据库中获得NULL时,也会转化为C#的int.MinValue。这样,程序就要对int.MinVaue这个值进行特殊处理,例如不能把int.MinValue直接显示在...

    mysql数据库的基本操作语法

    或on delete set null,前者是级联删除,后者是将从表的关联列的值设置为null。 create table student( id int auto_increment primary key, name varchar(20), classes_name varchar(20), classes_number int, /*表...

    orcale常用命令

    例:将test表中的Count列宽度加长为10个字符 sql&gt;alter atble test modify (County char(10)); b、将一张表删除语句的格式如下: DORP TABLE 表名; 例:表删除将同时删除表的数据和表的定义 sql&gt;drop table ...

    C#开发经验技巧宝典

    0937 将结果转换为XML形式 547 0938 追加查询结果到已存在的表 547 0939 利用对多个表中的字段创建新记录集 547 0940 利用EXECUTE执行SQL语句 548 第20章 数据库技术 549 20.1 Access数据库的使用 550 ...

    kellerMapper.jar

    FieldAttribute.java:字段注解,标示成员变量为数据库字段,并设置相应的约束信息,如:长度、非空、查询字段、索引字段等 KeyAttribute.java:主键注解,标示成员变量为主键,支持标注为自增主键 SortAttribute...

    程序员的SQL金典6-8

     11.8.1 将结果集转置为一行  11.8.2 把结果集转置为多行  11.9 递归查询  11.9.1 Oracle中的CONNECT BY子句  11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数  11.9.3 My SQL Server和DB2中递归查询 附录A 常用...

    程序员的SQL金典7-8

     11.8.1 将结果集转置为一行  11.8.2 把结果集转置为多行  11.9 递归查询  11.9.1 Oracle中的CONNECT BY子句  11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数  11.9.3 My SQL Server和DB2中递归查询 附录A 常用...

    程序员的SQL金典4-8

     11.8.1 将结果集转置为一行  11.8.2 把结果集转置为多行  11.9 递归查询  11.9.1 Oracle中的CONNECT BY子句  11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数  11.9.3 My SQL Server和DB2中递归查询 附录A 常用...

    程序员的SQL金典3-8

     11.8.1 将结果集转置为一行  11.8.2 把结果集转置为多行  11.9 递归查询  11.9.1 Oracle中的CONNECT BY子句  11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数  11.9.3 My SQL Server和DB2中递归查询 附录A 常用...

    程序员的SQL金典.rar

    轻举技术之“纲”,张合用之“目”,锻造SQL高可用性数据库应用指南从理论到实践,凝聚SQL主流数据库最前沿的技术要领,本书将深入浅出讨论。  本书特色:主要介绍SQL的语法规则及在实际开发中的应用,并且对SQL在...

    oracle数据库笔记

    1.Insert Into 表名 [ 字段列表 ] Values (值) 40 2.向表中插入空值 40 3.从其它表中拷贝数据 40 二. 更新数据 41 三. 删除数据 42 1.Delete 语句 42 2.Truncate 语句 42 四. SQL*Plus命令 42 1.设置环境变量命令...

    AppFramework_V1.0

    IBatisNet数据映射器会自动把int.MinValue转换为NULL插入到数据库,而从数据库中获得NULL时,也会转化为C#的int.MinValue。这样,程序就要对int.MinVaue这个值进行特殊处理,例如不能把int.MinValue直接显示在...

    2009达内SQL学习笔记

    空值当成无穷大处理,所有空值参与的运算皆为空。 空值与空值并不相等,因为空值不能直接运算。 如:prod_price="" 这种写法是错的(不要受到corejava的影响) prod_price=NULL 这种写法是错的(不要受到corejava的...

    AppFramework_V1.0_New

    IBatisNet数据映射器会自动把int.MinValue转换为NULL插入到数据库,而从数据库中获得NULL时,也会转化为C#的int.MinValue。这样,程序就要对int.MinVaue这个值进行特殊处理,例如不能把int.MinValue直接显示在...

    最全的oracle常用命令大全.txt

    例:将test表中的Count列宽度加长为10个字符 sql&gt;alter atble test modify (County char(10)); b、将一张表删除语句的格式如下: DORP TABLE 表名; 例:表删除将同时删除表的数据和表的定义 sql&gt;drop table ...

Global site tag (gtag.js) - Google Analytics