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
  • 相关阅读:
    CF732 F Tourist Reform——边双连通分量
    CF36 E Two Paths——欧拉(回)路
    最小生成树()
    Bellman-Ford算法
    SPFA算法
    归并排序(Merge_Sort)
    并查集
    int(3)与int(11)的区别
    mysql应该看的blog
    mysql建立索引
  • 原文地址:https://www.cnblogs.com/whl4835349/p/10406089.html
Copyright © 2011-2022 走看看