2015-12-01 21 views
0

我提出了一个新的查询来从文章类中选择每个项目的where子句。但是,尽管有选择的字段,但它每次都会收到整个列表! 这里是我的代码:ParseQuery没有考虑Where子句WindowsPhone

ParseQuery<Article> query = new ParseQuery<Article>(); 

     if (souCategorie.SelectedIndex >= 0) 
     { 
      query.WhereEqualTo("idSCategorie", listeSouCategorie.ElementAt(souCategorie.SelectedIndex)); 
     } 
     if(motcle.Text.Length > 0) 
     { 
      query.WhereContains("nom", motcle.Text); 
      // query.WhereContains("description", motcle.Text); 
     } 
     if(distance.Text.Length>0) 
     if (Convert.ToDouble(distance.Text) > 0) 
     { 
       Debug.WriteLine(distance.Text); 
       ParseGeoPoint geo = new ParseGeoPoint(); 
      geo.Latitude = geoposition.Coordinate.Latitude; 
      geo.Longitude = geoposition.Coordinate.Longitude; 
      query.WhereWithinDistance("coordonnees", geo, ParseGeoDistance.FromKilometers(Convert.ToDouble(distance.Text))); 
     } 

     IEnumerable<Article> lst = await query.FindAsync(); 
     rechercheResult.DataContext = lst.ToList(); 

怎么可能是错的?

回答

0

我知道查询可以做时髦的东西,当你开始尝试使用GeoPoint的东西。我会尝试设置两个查询,一个查询距离内的对象,然后将该查询传递给第二个查询,该查询具有whereEqualTowhereContains调用。

+0

即使我没有选择地理点,查询也会继续选择所有数据。并只需设置“标称”字段。 –

+0

在这些if语句中添加断点。那么我敢打赌,他们没有一个在击中。 –

+0

我试过了,它正在让他们。我甚至用简单的地方代替了整个代码,它仍然获得了整个数据。-_- –