public QueryAlertRuleResult QueryAlertRule(AccessControl AccessInformation, AlertRuleQueryCondition QueryCondition)
        {
            QueryAlertRuleResult Result = new QueryAlertRuleResult();
            string estr = "";
            bool ret = true;
            while (ret)
            {
                ret = GetAccessControlInformation(AccessInformation);
                if (!ret)
                {
                    estr = "";
                    break;
                }

                ret = GetAlertRuleQueryCondition(QueryCondition);
                if (!ret)
                {
                    estr = "";
                    break;
                }
                break;
            }

            if (ret)
            {
                string strServer = "localhost";
                string strUser = "******";

                if (AccessInformation.LimitServer)
                {
                    strServer = AccessInformation.SVDBServer;
                }

                if (AccessInformation.LimitUser)
                {
                    strUser = AccessInformation.UserID;
                }
                if (this.iniFile == null)
                {
                    this.iniFile = new IniFileDaoImpl();
                }
                IDictionary<string, NameValueCollection> sectionlists = this.iniFile.GetIniFile("alert.ini");
                BaseAlert[] baseAlerts = new BaseAlert[sectionlists.Count];
                int i = 0;
                foreach (string key in sectionlists.Keys)
                {
                    baseAlerts[i] = GetIniBaseAlertInfo(key, sectionlists);
                    i = i + 1;
                }
                Result.ResponseData = baseAlerts;
            }

            Result.ErrorInformation = estr;
            Result.QueryAlertRuleOK = ret;

            return Result;
        }
        /// <summary>
        /// ����
        /// </summary>
        /// <param name="structQueryCondition"></param>
        /// <returns></returns>
        private bool GetAlertRuleQueryCondition(AlertRuleQueryCondition structQueryCondition)
        {
            if (structQueryCondition.LimitIndex)
            {

                if (string.IsNullOrEmpty(structQueryCondition.AlertIndex))
                {
                    return false;
                }
            }
            if (structQueryCondition.LimitTarget)
            {
                if (string.IsNullOrEmpty(structQueryCondition.AlertTarget))
                {
                    return false;
                }
            }
            if (structQueryCondition.LimitName)
            {

                if (string.IsNullOrEmpty(structQueryCondition.AlertName))
                {
                    return false;
                }
            }

            if (structQueryCondition.LimitType)
            {

                if (string.IsNullOrEmpty(structQueryCondition.AlertType.ToString()))
                {
                    return false;
                }
            }
            if (structQueryCondition.LimitCategory)
            {
                if (string.IsNullOrEmpty(structQueryCondition.AlertCategory.ToString()))
                {
                    return false;
                }
            }

            if (structQueryCondition.LimitTimes)
            {
                if (string.IsNullOrEmpty(structQueryCondition.AlertTimes.ToString()))
                {
                    return false;
                }
            }

            if (structQueryCondition.LimitState)
            {
                if (string.IsNullOrEmpty(structQueryCondition.AlertState.ToString()))
                {
                    return false;
                }
            }
            return true;
        }