zoukankan      html  css  js  c++  java
  • 扩展方法

     #region DataReader扩展
        static class DataReaderExtension
        {
            /// <summary>
            /// 获取DataReader值
            /// </summary>
            /// <param name="dr">DataReader</param>
            /// <param name="name">字段名</param>
            /// <returns></returns>
            private static object GetValue(this IDataReader dr, string name)
            {
                return dr[name];
                /*for (int i = 0; i < dr.FieldCount; i++)
                {
                    string column = dr.GetName(i);
                    if (string.Compare(column, name, true) == 0)
                        return dr[i];
                }
                return DBNull.Value;*/
            }
            /// <summary>
            /// 获取值并且转换为布尔值
            /// </summary>
            public static bool GetBoolean(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return (bool)value;
                else
                    return false;
            }
            /// <summary>
            /// 获取值并且转换为8位无符号整数
            /// </summary>
            public static byte GetByte(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return (byte)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为时间
            /// </summary>
            public static DateTime GetDateTime(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return Convert.ToDateTime(value);
                else
                    return DateTime.MinValue;
            }
            /// <summary>
            /// 获取值并且转换为可空时间
            /// </summary>
            public static DateTime? GetNullDateTime(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return Convert.ToDateTime(value);
                else
                    return null;
            }
            /// <summary>
            /// 获取值并且转换为数字
            /// </summary>
            public static decimal GetDecimal(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value is DBNull)
                    return 0;
                else
                    return (decimal)value;
            }
            /// <summary>
            /// 获取值并且转换为双精度小数
            /// </summary>
            public static double GetDouble(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return (double)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为单精度小数
            /// </summary>
            public static float GetFloat(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return (float)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为短整型
            /// </summary>
            public static short GetShort(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return (short)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为整型
            /// </summary>
            public static int GetInt(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return (int)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为长整形
            /// </summary>
            public static long GetLong(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return (long)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为字符串
            /// </summary>
            public static string GetString(this IDataReader dr, string name)
            {
                object value = dr.GetValue(name);
                if (value != DBNull.Value)
                    return value.ToString();
                else
                    return string.Empty;
            }
        } 
        #endregion
    
        #region DataRow扩展
        static class DataRowExtension
        {
            /// <summary>
            /// 获取DataReader值
            /// </summary>
            /// <param name="dr">DataReader</param>
            /// <param name="name">字段名</param>
            /// <returns></returns>
            private static object GetValue(this DataRow row, string name)
            {
                int column_index = row.Table.Columns.IndexOf(name);
                if (column_index >= 0)
                    return row[column_index];
                else
                    return DBNull.Value;
            }
            /// <summary>
            /// 获取值并且转换为布尔值
            /// </summary>
            public static bool GetBoolean(this DataRow row, string name)
            {
                
                object value = row[name];
                if (value != DBNull.Value)
                    return (bool)value;
                else
                    return false;
            }
            /// <summary>
            /// 获取值并且转换为8位无符号整数
            /// </summary>
            public static byte GetByte(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value != DBNull.Value)
                    return (byte)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为时间
            /// </summary>
            public static DateTime GetDateTime(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value != DBNull.Value)
                    return Convert.ToDateTime(value);
                else
                    return DateTime.MinValue;
            }
            /// <summary>
            /// 获取值并且转换为可空时间
            /// </summary>
            public static DateTime? GetNullDateTime(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value != DBNull.Value)
                    return Convert.ToDateTime(value);
                else
                    return null;
            }
            /// <summary>
            /// 获取值并且转换为数字
            /// </summary>
            public static decimal GetDecimal(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value is DBNull)
                    return 0;
                else
                    return (decimal)value;
            }
            /// <summary>
            /// 获取值并且转换为双精度小数
            /// </summary>
            public static double GetDouble(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value != DBNull.Value)
                    return (double)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为单精度小数
            /// </summary>
            public static float GetFloat(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value != DBNull.Value)
                    return (float)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为短整型
            /// </summary>
            public static short GetShort(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value != DBNull.Value)
                    return (short)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为整型
            /// </summary>
            public static int GetInt(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value != DBNull.Value)
                    return (int)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为长整形
            /// </summary>
            public static long GetLong(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value != DBNull.Value)
                    return (long)value;
                else
                    return 0;
            }
            /// <summary>
            /// 获取值并且转换为字符串
            /// </summary>
            public static string GetString(this DataRow row, string name)
            {
                object value = row.GetValue(name);
                if (value != DBNull.Value)
                    return value.ToString();
                else
                    return string.Empty;
            }
        }
        #endregion
    111111
  • 相关阅读:
    非诚勿扰骆琦攻略
    IT服务者的困惑与解决之道
    某某银行IT运维管理的三点和四化
    提升CIO地位及IT价值体现,IT治理理念在中国势在必行
    振兴民族软件,险恶的江湖该如何仗剑走天涯
    某连锁饭店IT服务台、自助服务建设
    证券行业ITIL初探助力券商成就IT管理之路
    分享屡见成效的另类方法论保障ITIL软件及ITSM方案落地实施
    城市商业银行IT科技工作管理之痛
    【转】陈天晴:信息化发展要注意规划调整 重视IT治理
  • 原文地址:https://www.cnblogs.com/whl4835349/p/10406089.html
Copyright © 2011-2022 走看看