public long m_lngUpdateStatisticMode(string p_strStasticID,string p_strQueryID,string p_strXmlContent,string p_strSelectedFiledsIndexes,string p_strModeDesc)
		{
            clsStatisticsService m_objService =
                (clsStatisticsService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsStatisticsService));

            long lngRes = 0;
            try
            {
                lngRes =(m_objService.m_lngUpdateStatisticMode (p_strStasticID ,p_strQueryID ,p_strXmlContent ,p_strSelectedFiledsIndexes ,p_strModeDesc));
            }
            finally
            {
                ////m_objService.Dispose();
            }
            return lngRes;
		}
		public long m_lngAddNewStatisticMode(clsStatisticQueryModeValue p_objStatisticQueryModeValue, out string p_strQueryID)
		{
            clsStatisticsService m_objService =
                (clsStatisticsService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsStatisticsService));

            long lngRes = 0;
            try
            {
                lngRes =(m_objService.m_lngAddNewStatisticMode (p_objStatisticQueryModeValue, out p_strQueryID));
            }
            finally
            {
                ////m_objService.Dispose();
            }
            return lngRes;
		}
		public long m_lngGetAllStatisticDefinition(out clsStatisticDefinitionValue [] p_objStatisticDefinitionValue)
		{
            clsStatisticsService m_objService =
                (clsStatisticsService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsStatisticsService));

            long lngRes = 0;
            try
            {
                lngRes =(m_objService.m_lngGetAllStatisticDefinition(out p_objStatisticDefinitionValue ));
            }
            finally
            {
                ////m_objService.Dispose();
            }
            return lngRes;
		}
		public long m_lngGetStatisticQueryMode(string p_strStatisticID,out clsStatisticQueryModeValue [] p_objStatisticQueryModeValue)
		{
            clsStatisticsService m_objService =
                (clsStatisticsService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsStatisticsService));

            long lngRes = 0;
            try
            {
                lngRes =m_objService.m_lngGetStatisticQueryMode (p_strStatisticID ,out p_objStatisticQueryModeValue );
            }
            finally
            {
                ////m_objService.Dispose();
            }
            return lngRes;
		}
		/// <summary>
		/// 执行SQL查询
		/// </summary>
		/// <param name="p_strStatisticSqlTemplate">Sql语句模板的String 格式:Select [SelectedFields] from T1,T2 Where [FixedSystems] and [UserCondiction]</param>
		/// <param name="p_strSelectedFields">用户选择实际显示的字段</param>
		/// <param name="p_strXmlWhereStruction">Where语句的XML结构,包含FixedSystems和UserCondiction</param>
		/// <param name="p_strRowValues">返回二维String数组</param>
		/// <returns></returns>
		public long m_lngPerformSqlQuery(string p_strStatisticSqlTemplate,string p_strOpenClassParameters, string p_strSelectedFields,XmlDocument p_objXmlDocment,out string [,] p_strRowValues)
		{
            clsStatisticsService m_objService =
                (clsStatisticsService)com.digitalwave.iCare.common.clsObjectGenerator.objCreatorObjectByType(typeof(clsStatisticsService));

            long lngRes = 0;
            try
            {
                string strSqlStatement = p_strStatisticSqlTemplate;
                strSqlStatement = strSqlStatement.Replace("[SelectedFields]", p_strOpenClassParameters + "," + p_strSelectedFields);
                s_strFixedSystemSQL = "";
                s_strUserCondictionSQL = "";
                m_mthReadFixedSystemSQL(p_objXmlDocment.DocumentElement.ChildNodes[0]);
                m_blnReadUserCondictionSQL(p_objXmlDocment.DocumentElement.ChildNodes[1]);
                strSqlStatement = strSqlStatement.Replace("[FixedSystems]", s_strFixedSystemSQL);
                strSqlStatement = strSqlStatement.Replace("[UserCondiction]", s_strUserCondictionSQL);
                lngRes = (m_objService.m_lngPerformSqlQuery(strSqlStatement, out p_strRowValues));
            }
            finally
            {
                ////m_objService.Dispose();
            }
            return lngRes;
		}