LocalDBUtil - DataRow的简单操作

2017-10-13 10:06:46  访问(1617) 赞(0) 踩(0)

using System;
using System.Data;
using System.Reflection;

namespace SlowX.DBConnectionTestApp.Classes.LocalDBs.Utils
{
    /// <summary>
    /// 
    /// </summary>
    [Serializable]
    public class LocalDBUtil
    {
        /// <summary>
        /// 
        /// </summary>
        public static readonly LocalDBUtil
            instance = new LocalDBUtil();

        /// <summary>
        /// 
        /// </summary>
        public LocalDBUtil()
        {

        }

        #region 通过DataRow和字段名(dataColumnName):获得返回的字符串

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的字符串|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public string StrGetByDR(DataRow dr, string dataColumnName)
        {
            return dr[dataColumnName].ToString();
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的字符串


        #region 通过DataRow和字段名(dataColumnName):获得返回的字符串

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的字符串|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">默认值:如:string.Empty</param>
        /// <returns></returns>
        public string StrGetByDR(DataRow dr, string dataColumnName, string defaultValue)
        {
            object obj = dr[dataColumnName];

            if (obj == DBNull.Value)
                return defaultValue;

            return obj.ToString();
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的字符串



        #region 通过DataRow和字段名(dataColumnName):获得返回的int

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的int|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public int IntGetByDR(DataRow dr, string dataColumnName)
        {
            return int.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的int

        #region 通过DataRow和字段名(dataColumnName):获得返回的int

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的int|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public int IntGetByDR(DataRow dr, string dataColumnName, int defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return defaultValue;

            int theResult = defaultValue;

            if (int.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的int

        #region 通过DataRow和字段名(dataColumnName):获得返回的long

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的long|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public long LongGetByDR(DataRow dr, string dataColumnName)
        {
            return long.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的long

        #region 通过DataRow和字段名(dataColumnName):获得返回的long

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的long|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public long LongGetByDR(DataRow dr, string dataColumnName, long defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return defaultValue;

            long theResult = defaultValue;

            if (long.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的long

        #region 通过DataRow和字段名(dataColumnName):获得返回的DateTime

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的DateTime|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public DateTime DateTimeGetByDR(DataRow dr, string dataColumnName)
        {
            return DateTime.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的DateTime

        #region 通过DataRow和字段名(dataColumnName):获得返回的DateTime

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的DateTime|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public DateTime DateTimeGetByDR(DataRow dr, string dataColumnName, DateTime defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return defaultValue;

            DateTime theResult = defaultValue;

            if (DateTime.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的DateTime

        #region 通过DataRow和字段名(dataColumnName):获得返回的Boolean?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的Boolean?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public bool  BooleanGetByDR(DataRow dr, string dataColumnName)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
            {

                throw new Exception
                    (
                        "方法:"
                        + MethodBase.GetCurrentMethod().ReflectedType.FullName
                        + " "
                        + MethodBase.GetCurrentMethod().ToString()
                        + " 发生异常:"
                        + "dr[dataColumnName(" + dataColumnName + ")].ToString()"
                        + "值为null或为空。"
                    );
            }

            if (str == "1")
                return true;

            if (str == "0")
                return false;


            throw new Exception
                (
                    "方法:"
                    + MethodBase.GetCurrentMethod().ReflectedType.FullName
                    + " "
                    + MethodBase.GetCurrentMethod().ToString()
                    + " 发生异常:"
                    + "str=" + str + "为无效的bool值"
                );

        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的Boolean?

        #region 通过DataRow和字段名(dataColumnName):获得返回的Boolean?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的Boolean?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:true</param>
        /// <returns></returns>
        public bool  BooleanGetByDR(DataRow dr, string dataColumnName, bool  defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return defaultValue;

            if (str == "1")
                return true;

            if (str == "0")
                return false;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的Boolean?

        #region 通过DataRow和字段名(dataColumnName):获得返回的int?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的int?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public int? IntNullGetByDR(DataRow dr, string dataColumnName)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            return int.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的int?

        #region 通过DataRow和字段名(dataColumnName):获得返回的int?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的int?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public int? IntNullGetByDR(DataRow dr, string dataColumnName, int? defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            int theResult = 0;

            if (int.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的int?

        #region 通过DataRow和字段名(dataColumnName):获得返回的long?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的long?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public long? LongNullGetByDR(DataRow dr, string dataColumnName)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            return long.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的long?

        #region 通过DataRow和字段名(dataColumnName):获得返回的long?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的long?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public long? LongNullGetByDR(DataRow dr, string dataColumnName, long? defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            long theResult = 0;

            if (long.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的long?

        #region 通过DataRow和字段名(dataColumnName):获得返回的DateTime?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的DateTime?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public DateTime? DateTimeNullGetByDR(DataRow dr, string dataColumnName)
        {
             string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            return DateTime.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的DateTime?

        #region 通过DataRow和字段名(dataColumnName):获得返回的DateTime?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的DateTime?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public DateTime? DateTimeNullGetByDR(DataRow dr, string dataColumnName, DateTime? defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            DateTime theResult = DateTime.MinValue;

            if (DateTime.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的DateTime?

        #region 通过DataRow和字段名(dataColumnName):获得返回的Boolean?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的Boolean?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public bool? BooleanNullGetByDR(DataRow dr, string dataColumnName)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            if (str == "1")
                return true;

            if (str == "0")
                return false;


            throw new Exception
                (
                    "方法:"
                    + MethodBase.GetCurrentMethod().ReflectedType.FullName
                    + " "
                    + MethodBase.GetCurrentMethod().ToString()
                    + " 发生异常:"
                    + "str=" + str + "为无效的bool值"
                );

        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的Boolean?

        #region 通过DataRow和字段名(dataColumnName):获得返回的Boolean?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的Boolean?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:true</param>
        /// <returns></returns>
        public bool? BooleanNullGetByDR(DataRow dr, string dataColumnName, bool? defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            if (str == "1")
                return true;

            if (str == "0")
                return false;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的Boolean?

        #region 通过DataRow和字段名(dataColumnName):获得返回的double

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的double|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public double DoubleGetByDR(DataRow dr, string dataColumnName)
        {
            return double.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的double

        #region 通过DataRow和字段名(dataColumnName):获得返回的double

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的double|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public double DoubleGetByDR(DataRow dr, string dataColumnName, double defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return defaultValue;

            double theResult = defaultValue;

            if (double.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的double

        #region 通过DataRow和字段名(dataColumnName):获得返回的double?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的double?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public double? DoubleNullGetByDR(DataRow dr, string dataColumnName)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            return double.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的double?

        #region 通过DataRow和字段名(dataColumnName):获得返回的double?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的double?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public double? DoubleNullGetByDR(DataRow dr, string dataColumnName, double? defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            double theResult = 0;

            if (double.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的double?

        #region 通过DataRow和字段名(dataColumnName):获得返回的decimal

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的decimal|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public decimal DecimalGetByDR(DataRow dr, string dataColumnName)
        {
            return decimal.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的decimal

        #region 通过DataRow和字段名(dataColumnName):获得返回的decimal

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的decimal|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public decimal DecimalGetByDR(DataRow dr, string dataColumnName, decimal defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return defaultValue;

            decimal theResult = defaultValue;

            if (decimal.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的decimal

        #region 通过DataRow和字段名(dataColumnName):获得返回的decimal?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的decimal?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <returns></returns>
        public decimal? DecimalNullGetByDR(DataRow dr, string dataColumnName)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            return decimal.Parse(dr[dataColumnName].ToString());
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的decimal?

        #region 通过DataRow和字段名(dataColumnName):获得返回的decimal?

        /// <summary>
        /// 通过DataRow和字段名(dataColumnName):获得返回的decimal?|2017-10-13
        /// </summary>
        /// <param name="dr">一行数据</param>
        /// <param name="dataColumnName">字段名:如:TheName</param>
        /// <param name="defaultValue">如果异常,返回的默认值:如:0</param>
        /// <returns></returns>
        public decimal? DecimalNullGetByDR(DataRow dr, string dataColumnName, decimal? defaultValue)
        {
            string str = dr[dataColumnName].ToString();

            if (str == null || str.Length == 0)
                return null;

            decimal theResult = 0;

            if (decimal.TryParse(str, out theResult))
                return theResult;

            return defaultValue;
        }

        #endregion 通过DataRow和字段名(dataColumnName):获得返回的decimal?
    }
}


上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)