将空值转换为数据库字段的NULL形式
- /// <summary>
- /// 将空("")或null值的字符串转换为空字段
- /// </summary>
- /// <param name="obj">传入的参数</param>
- public staticobject 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 staticobject 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属性时会引发异常
********************注意******************
当数据类型是时间类型时候,如何传入null 系统变成默认时间 1900-1-1