2011-01-25 64 views
0

我虽然下面的代码会工作,但每次我看file.Item;它是空的。我应该做一些不同的事情吗?如何将FullTextSqlQuery结果转换为SPListItem?

Microsoft.Office.Server.Search.Query.FullTextSqlQuery query = new Microsoft.Office.Server.Search.Query.FullTextSqlQuery(siteCollection); 
query.QueryText = "SELECT Title, Path, Description, Write, Rank, Size from scope() where \"scope\" = 'SocialNetworking'"; 
query.ResultTypes = Microsoft.Office.Server.Search.Query.ResultType.RelevantResults; 
//query.RowLimit = Int32.MaxValue; 
query.TrimDuplicates = true; 
query.EnableStemming = false; 
query.IgnoreAllNoiseQuery = true; 
query.KeywordInclusion = Microsoft.Office.Server.Search.Query.KeywordInclusion.AllKeywords; 
query.Timeout = 0x2710; 
query.HighlightedSentenceCount = 3; 
query.SiteContext = new Uri(siteCollection.Url); 
query.AuthenticationType = Microsoft.Office.Server.Search.Query.QueryAuthenticationType.NtAuthenticatedQuery; 
Microsoft.Office.Server.Search.Query.ResultTableCollection queryResults = query.Execute(); 
Microsoft.Office.Server.Search.Query.ResultTable queryResultsTable = queryResults[Microsoft.Office.Server.Search.Query.ResultType.RelevantResults]; 
DataTable queryDataTable = new DataTable(); 
queryDataTable.Load(queryResultsTable, LoadOption.OverwriteChanges); 
foreach (DataRow dr in queryDataTable.Rows) 
{ 
    //if (dr["ContentType"].ToString() == "Item") 
    //{ 
     using (SPSite lookupSite = new SPSite(dr["Path"].ToString())) 
     { 
      using (SPWeb web = lookupSite.OpenWeb()) 
      { 
       SPFile file = web.GetFile(dr["Path"].ToString()); 
       SPListItem li = file.Item; 
      } 
     } 
    //} 

} 

回答