/// <summary>
  /// 提供简单搜索的方法。
  /// </summary>
  /// <param name="keyWord">关键字</param>
  /// <param name="searchArea">搜索范围</param>
  /// <param name="userLevel">用户级别</param>
  private void QureyResult(string keyWord,string searchArea,string userLevel)//,string rowCount)
  {
   try
   {
    if(keyWord != "")
    {
     lblMsg.Visible = false;
     ds = new DataSet();
     PortalContext context = PortalApplication.GetContext();
     string searchWebName = context.SearchApplicationName;
     qs = new QueryProvider(searchWebName);
     //qs.SetProperty("Maximum Rows",rowCount);
     if (searchArea == "" || searchArea == null || searchArea == "__includechildren__")
     {
      ds = qs.Execute("select \"urn:schemas.microsoft.com:htmlinfo:metainfo:CREATEDDATE\",\"urn:schemas.microsoft.com:htmlinfo:metainfo:DISPLAYNAME\",\"DAV:href\" from Non_Portal_Content..Scope() where CONTAINS( *,'"+ keyWord +"') and (\"urn:schemas.microsoft.com:htmlinfo:metainfo:SECURITYLEVEL\" <= '" + userLevel + "') order by \"urn:schemas.microsoft.com:htmlinfo:metainfo:CREATEDDATE\" desc ");
     }
     else
     {
      ds = qs.Execute("select \"urn:schemas.microsoft.com:htmlinfo:metainfo:CREATEDDATE\",\"urn:schemas.microsoft.com:htmlinfo:metainfo:DISPLAYNAME\",\"DAV:href\" from Non_Portal_Content..Scope() where CONTAINS( *,'"+ keyWord +"')  AND (CONTAINS(\"urn:schemas.microsoft.com:fulltextqueryinfo:Sourcegroup\",'\""+ searchArea +"\"') )  and (\"urn:schemas.microsoft.com:htmlinfo:metainfo:SECURITYLEVEL\" <= '" + userLevel + "')  order by \"urn:schemas.microsoft.com:htmlinfo:metainfo:CREATEDDATE\" desc ");
     }
     if(ds != null)
     {
      if(ds.Tables.Count > 0)
      {
       if(ds.Tables[0].Rows.Count>0)
       {      
        ds = DeleteDbNullDs(ds);
        BindGrid();
       }
       else
       {
        lblMsg.Visible = true;
        btnPrev.Visible = false;
        btnNext.Visible = false;
        lblMsg.Text = "没有查询到任何记录!";
       }
      }
     }
    }
   }
   catch(Exception ex)
   {
    if(ex.Message == "查询子句只包含被忽略的词。 ")
    {
     lblMsg.Visible = true;
     lblMsg.Text = "您输入的搜索条件过于简单,请重新输入搜索条件";
     return;
    }
    else
    {
     Page.Response.Redirect("/sites/vidms/error.aspx?errortext=" + ex.Message);
    }
   }
  }
posted on 2006-07-05 00:11  volitation  阅读(195)  评论(0)    收藏  举报