博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
扩展方法
阅读量:4655 次
发布时间:2019-06-09

本文共 7724 字,大约阅读时间需要 25 分钟。

#region DataReader扩展    static class DataReaderExtension    {        ///         /// 获取DataReader值        ///         /// DataReader        /// 字段名        /// 
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;*/ } /// /// 获取值并且转换为布尔值 /// public static bool GetBoolean(this IDataReader dr, string name) { object value = dr.GetValue(name); if (value != DBNull.Value) return (bool)value; else return false; } /// /// 获取值并且转换为8位无符号整数 /// public static byte GetByte(this IDataReader dr, string name) { object value = dr.GetValue(name); if (value != DBNull.Value) return (byte)value; else return 0; } /// /// 获取值并且转换为时间 /// 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; } /// /// 获取值并且转换为可空时间 /// 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; } /// /// 获取值并且转换为数字 /// public static decimal GetDecimal(this IDataReader dr, string name) { object value = dr.GetValue(name); if (value is DBNull) return 0; else return (decimal)value; } /// /// 获取值并且转换为双精度小数 /// public static double GetDouble(this IDataReader dr, string name) { object value = dr.GetValue(name); if (value != DBNull.Value) return (double)value; else return 0; } /// /// 获取值并且转换为单精度小数 /// public static float GetFloat(this IDataReader dr, string name) { object value = dr.GetValue(name); if (value != DBNull.Value) return (float)value; else return 0; } /// /// 获取值并且转换为短整型 /// public static short GetShort(this IDataReader dr, string name) { object value = dr.GetValue(name); if (value != DBNull.Value) return (short)value; else return 0; } /// /// 获取值并且转换为整型 /// public static int GetInt(this IDataReader dr, string name) { object value = dr.GetValue(name); if (value != DBNull.Value) return (int)value; else return 0; } /// /// 获取值并且转换为长整形 /// public static long GetLong(this IDataReader dr, string name) { object value = dr.GetValue(name); if (value != DBNull.Value) return (long)value; else return 0; } /// /// 获取值并且转换为字符串 /// 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 { /// /// 获取DataReader值 /// /// DataReader /// 字段名 ///
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; } /// /// 获取值并且转换为布尔值 /// public static bool GetBoolean(this DataRow row, string name) { object value = row[name]; if (value != DBNull.Value) return (bool)value; else return false; } /// /// 获取值并且转换为8位无符号整数 /// public static byte GetByte(this DataRow row, string name) { object value = row.GetValue(name); if (value != DBNull.Value) return (byte)value; else return 0; } /// /// 获取值并且转换为时间 /// 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; } /// /// 获取值并且转换为可空时间 /// 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; } /// /// 获取值并且转换为数字 /// public static decimal GetDecimal(this DataRow row, string name) { object value = row.GetValue(name); if (value is DBNull) return 0; else return (decimal)value; } /// /// 获取值并且转换为双精度小数 /// public static double GetDouble(this DataRow row, string name) { object value = row.GetValue(name); if (value != DBNull.Value) return (double)value; else return 0; } /// /// 获取值并且转换为单精度小数 /// public static float GetFloat(this DataRow row, string name) { object value = row.GetValue(name); if (value != DBNull.Value) return (float)value; else return 0; } /// /// 获取值并且转换为短整型 /// public static short GetShort(this DataRow row, string name) { object value = row.GetValue(name); if (value != DBNull.Value) return (short)value; else return 0; } /// /// 获取值并且转换为整型 /// public static int GetInt(this DataRow row, string name) { object value = row.GetValue(name); if (value != DBNull.Value) return (int)value; else return 0; } /// /// 获取值并且转换为长整形 /// public static long GetLong(this DataRow row, string name) { object value = row.GetValue(name); if (value != DBNull.Value) return (long)value; else return 0; } /// /// 获取值并且转换为字符串 /// 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

 

转载于:https://www.cnblogs.com/whl4835349/p/10406089.html

你可能感兴趣的文章