Exemple #1
0
        /// <summary>
        /// 获取一个序列号
        /// </summary>
        /// <param name="p_objPrincipal"></param>
        /// <param name="p_strSeqName"></param>
        /// <param name="p_lngSeqId"></param>
        /// <returns></returns>
        public static long m_lngGetSequence(string p_strSeqName, out long p_lngSeqId)
        {
            p_lngSeqId = 0;
            long lngRes = 0;

            if (string.IsNullOrEmpty(p_strSeqName))
            {
                return(lngRes);
            }
            try
            {
                if (clsHRPTableService.bytDatabase_Selector == (byte)clsHRPTableService.enumDatabase_Selector.bytOracle)
                {
                    string             strSQL     = "select " + p_strSeqName + ".nextval from dual";
                    clsHRPTableService objHRPServ = new clsHRPTableService();

                    DataTable dtResult = null;
                    lngRes = objHRPServ.DoGetDataTable(strSQL, ref dtResult);
                    if (dtResult != null && dtResult.Rows.Count == 1)
                    {
                        p_lngSeqId = Convert.ToInt64(dtResult.Rows[0][0]);
                    }
                    else
                    {
                        p_lngSeqId = 1;
                    }
                }
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogDetailError(objEx, true);
            }
            return(lngRes);
        }
Exemple #2
0
        public static long m_lngGetSequenceArr(string p_strSeqName, int p_intNumber, out long[] p_lngSeqIdArr)
        {
            p_lngSeqIdArr = null;
            long lngRes = 0;

            if (p_intNumber <= 0 || string.IsNullOrEmpty(p_strSeqName))
            {
                return(lngRes);
            }

            try
            {
                if (clsHRPTableService.bytDatabase_Selector == (byte)clsHRPTableService.enumDatabase_Selector.bytOracle)
                {
                    string strSQL = "select getseq(?,?) from dual";

                    clsHRPTableService objHRPServ = new clsHRPTableService();
                    DataTable          dtValue    = null;

                    IDataParameter[] objDPArr = null;
                    objHRPServ.CreateDatabaseParameter(2, out objDPArr);

                    objDPArr[0].Value = p_strSeqName;
                    objDPArr[1].Value = p_intNumber;

                    lngRes = objHRPServ.lngGetDataTableWithParameters(strSQL, ref dtValue, objDPArr);
                    if (lngRes > 0 && dtValue != null && dtValue.Rows.Count == 1)
                    {
                        p_lngSeqIdArr = new long[p_intNumber];
                        long m_lngSeqId = Convert.ToInt64(dtValue.Rows[0][0]);
                        for (int index = p_intNumber - 1; index >= 0; index--)
                        {
                            p_lngSeqIdArr[index] = m_lngSeqId--;
                        }
                    }
                    else
                    {
                        p_lngSeqIdArr    = new long[1];
                        p_lngSeqIdArr[0] = 1;
                    }
                }
            }
            catch (Exception objEx)
            {
                com.digitalwave.Utility.clsLogText objLogger = new com.digitalwave.Utility.clsLogText();
                bool blnRes = objLogger.LogDetailError(objEx, true);
            }
            return(lngRes);
        }