GetSafeData.cs
上传用户:gooyliu
上传日期:2018-09-29
资源大小:5816k
文件大小:3k
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- namespace DataAccessLayer
- {
- /// <summary>
- /// 从数据库中安全获取数据,即当数据库中的数据为NULL时,保证读取不发生异常。
- /// </summary>
- public class GetSafeData
- {
- #region DataRow
- /// <summary>
- /// 从一个DataRow中,安全得到列colname中的值:值为字符串类型
- /// </summary>
- /// <param name="row">数据行对象</param>
- /// <param name="colname">列名</param>
- /// <returns>如果值存在,返回;否则,返回System.String.Empty</returns>
- public static string ValidateDataRow_S(DataRow row, string colname)
- {
- if (row[colname] != DBNull.Value)
- return row[colname].ToString();
- else
- return System.String.Empty;
- }
- /// <summary>
- /// 从一个DataRow中,安全得到列colname中的值:值为整数类型
- /// </summary>
- /// <param name="row">数据行对象</param>
- /// <param name="colname">列名</param>
- /// <returns>如果值存在,返回;否则,返回System.Int32.MinValue</returns>
- public static int ValidateDataRow_N(DataRow row, string colname)
- {
- if (row[colname] != DBNull.Value)
- return Convert.ToInt32(row[colname]);
- else
- return System.Int32.MinValue;
- }
- /// <summary>
- /// 从一个DataRow中,安全得到列colname中的值:值为布尔类型
- /// </summary>
- /// <param name="row">数据行对象</param>
- /// <param name="colname">列名</param>
- /// <returns>如果值存在,返回;否则,返回System.Int32.MinValue</returns>
- public static bool ValidateDataRow_B(DataRow row, string colname)
- {
- if (row[colname] != DBNull.Value)
- return Convert.ToBoolean(row[colname]);
- else
- return false;
- }
- /// <summary>
- /// 从一个DataRow中,安全得到列colname中的值:值为浮点数类型
- /// </summary>
- /// <param name="row">数据行对象</param>
- /// <param name="colname">列名</param>
- /// <returns>如果值存在,返回;否则,返回System.Double.MinValue</returns>
- public static double ValidateDataRow_F(DataRow row, string colname)
- {
- if (row[colname] != DBNull.Value)
- {
- String type = row[colname].GetType().ToString();
- Convert.ToDecimal(row[colname]);
- return Convert.ToDouble(row[colname]);
- }
- else
- return System.Double.MinValue;
- }
- /// <summary>
- /// 从一个DataRow中,安全得到列colname中的值:值为时间类型
- /// </summary>
- /// <param name="row">数据行对象</param>
- /// <param name="colname">列名</param>
- /// <returns>如果值存在,返回;否则,返回System.DateTime.MinValue;</returns>
- public static DateTime ValidateDataRow_T(DataRow row, string colname)
- {
- if (row[colname] != DBNull.Value)
- return Convert.ToDateTime(row[colname]);
- else
- return System.DateTime.MinValue;
- }
-
- #endregion DataRow
- }
- }