获得数据库的当前时间 - GetNow

2017-06-28 11:00:06  访问(1444) 赞(0) 踩(0)

dbHelper里面的GetNow

        /// <summary>
        /// 获得数据库当前时间
        /// </summary>
        /// <returns>数据库当前时间</returns>
        public DateTime GetNow()
        {
            string sql = "";

            switch (m_emDataBaseHelper)
            {
                case SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.Oracle:
                    sql = "select sysdate as retValue from sys.dual ";
                    break;
                case SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.SQLServer:
                    sql = "select getdate() as retValue ";
                    break;
                case SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.Access:
                case SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.Excel:
                    sql = "select now() as retValue ";
                    break;
                case Enums.DataBaseHelper.EmDataBaseHelper.SQLite:
                    sql = "select datetime(\"now\") as retValue ";
                    break;
                default:
                    throw new Exception
                        (
                            "方法:"
                            + MethodBase.GetCurrentMethod().ReflectedType.FullName
                            + " "
                            + MethodBase.GetCurrentMethod().ToString()
                            + " 发生异常:"
                            + "枚举("
                            + m_emDataBaseHelper.GetType().FullName
                            + "."
                            + m_emDataBaseHelper.ToString()
                            + ")未知,对应的代码尚未实现。"
                        );
            }

            return Convert.ToDateTime(ExecuteScalar(sql));
        }

        /// <summary>
        /// 获得数据库当前时间的执行SQL脚本
        /// </summary>
        /// <returns>获得数据库当前时间的执行SQL脚本</returns>
        public string GetNowSQL()
        {
            string sql = "";

            switch (m_emDataBaseHelper)
            {
                case SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.Oracle:
                    sql = "select sysdate as retValue from sys.dual ";
                    break;
                case SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.SQLServer:
                    sql = "select getdate() as retValue ";
                    break;
                case SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.Access:
                case SlowX.DAL.Enums.DataBaseHelper.EmDataBaseHelper.Excel:
                    sql = "select now() as retValue ";
                    break;
                case Enums.DataBaseHelper.EmDataBaseHelper.SQLite:
                    sql = "select datetime(\"now\") as retValue ";
                    break;
                default:
                    throw new Exception
                        (
                            "方法:"
                            + MethodBase.GetCurrentMethod().ReflectedType.FullName
                            + " "
                            + MethodBase.GetCurrentMethod().ToString()
                            + " 发生异常:"
                            + "枚举("
                            + m_emDataBaseHelper.GetType().FullName
                            + "."
                            + m_emDataBaseHelper.ToString()
                            + ")未知,对应的代码尚未实现。"
                        );
            }

            return sql;
        }

BaseBusiness里面的GetNow

        #region 获得数据库的当前时间 - GetNow +

        /// <summary>
        /// 获得数据库的当前时间 - GetNow +
        /// </summary>
        /// <returns>数据库的当前时间</returns>
        public DateTime GetNow()
        {
            DateTime theResult = DateTime.Now;

            DBHelper xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();

            try
            {

                xdbHelper.OpenDBHelper();

                theResult = xdbHelper.GetNow();


                xdbHelper.EndDBHelper();

            }
            catch (Exception err)
            {

                xdbHelper.TranDBHelper();

                throw err;
            }
            finally
            {

                xdbHelper.FinallyDBHelper();
            }

            return theResult;
        }



        /// <summary>
        /// 获得数据库的当前时间 - GetNow +
        /// </summary>
        /// <param name="xdbHelper">数据库链接串</param>
        /// <returns>数据库的当前时间</returns>
        public DateTime GetNow(DBHelper xdbHelper)
        {
            DateTime theResult = DateTime.Now;

            bool bIsCreate = true;

            if (xdbHelper == null)
            {
                xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
            }
            else
            {
                // 没有打开链接 //
                bIsCreate = xdbHelper.IsNotOpen();
            }

            try
            {
                if (bIsCreate)
                    xdbHelper.OpenDBHelper();

                theResult = xdbHelper.GetNow();

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

            }
            catch (Exception err)
            {
                if (bIsCreate)
                    xdbHelper.TranDBHelper();

                throw err;
            }
            finally
            {
                if (bIsCreate)
                    xdbHelper.FinallyDBHelper();
            }

            return theResult;
        }

        #endregion 获得数据库的当前时间 - GetNow


上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)