通过Max获得新ID(当前max值+1) - GetMaxNewID

2017-06-28 09:06:49  访问(1488) 赞(0) 踩(0)


        /// <summary>
        /// 获得Max(ID)的下一个ID (当前max值+1)
        /// </summary>
        /// <param name="primaryKeyName">关键字的字段名</param>
        /// <param name="tableName">表格名</param>
        /// <returns></returns>
        public long GetMaxNewID(string primaryKeyName, string tableName)
        {
            string sql = "select max(" + primaryKeyName + ") from " + tableName;

            object o = ExecuteScalar(sql);

            if (o == null || o.ToString().Length == 0)
                return 1;

            return long.Parse(o.ToString()) + 1;
        }


        #region GetMaxNewID

        /// <summary>
        /// 通过Max获得新ID(当前max值+1) - GetMaxNewID +
        /// </summary>
        /// <returns>长整形的ID值(当前max值+1)</returns>
        public long GetMaxNewID()
        {
            long theResult = 0;

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

            try
            {

                xdbHelper.OpenDBHelper();

                theResult = xdbHelper.GetMaxNewID(Entity.p_IDFieldName, Entity.GetTableName());

                xdbHelper.EndDBHelper();

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

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

            return theResult;
        }

        /// <summary>
        /// 通过Max获得新ID(当前max值+1) - GetMaxNewID + 
        /// </summary>
        /// <param name="_IDFieldName">关键字名</param>
        /// <param name="_TableName">表格名</param>
        /// <returns>长整形的ID值(当前max值+1)</returns>
        public long GetMaxNewID(string _IDFieldName, string _TableName)
        {
            long theResult = 0;

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

            try
            {

                xdbHelper.OpenDBHelper();

                theResult = xdbHelper.GetMaxNewID(_IDFieldName, _TableName);

                xdbHelper.EndDBHelper();

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

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

            return theResult;
        }

        /// <summary>
        /// 通过Max获得新ID(当前max值+1) - GetMaxNewID + 
        /// </summary>
        /// <param name="_IDFieldName">关键字名</param>
        /// <param name="_TableName">表格名</param>
        /// <param name="xdbHelper">数据库链接串</param>
        /// <returns>长整形的ID值(当前max值+1)</returns>
        public long GetMaxNewID(string _IDFieldName, string _TableName, DBHelper xdbHelper)
        {
            long theResult = 0;

            bool bIsCreate = true;

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

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

                theResult = xdbHelper.GetMaxNewID(_IDFieldName, _TableName);

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

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

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

            return theResult;

        }

        /// <summary>
        /// 通过Max获得新ID(当前max值+1) - GetMaxNewID + 
        /// </summary>
        /// <param name="xdbHelper">数据库链接串</param>
        /// <returns>长整形的ID值(当前max值+1)</returns>
        public long GetMaxNewID(DBHelper xdbHelper)
        {
            long theResult = 0;

            bool bIsCreate = true;

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

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

                theResult = xdbHelper.GetMaxNewID
                    (Entity.p_IDFieldName, Entity.GetTableName());

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

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

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

            return theResult;
        }

        #endregion GetMaxNewID


上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)