2010-02-17 2 views
0

J'utilise caml query pour récupérer des données de la liste sharepoint. Le problème est que la requête renvoie un enregistrement alors qu'elle ne devrait pas l'être, et cela ne se produit que lorsque j'utilise cette requête dans mon propre code. Lorsque j'utilise la même requête, dans la même liste par U2U Caml Query Builder, il fonctionne Wright.Comportement étrange de la question CAML - pourquoi?

Ma requête est comme ceci:

<Query><Where><Eq><FieldRef Name="Account_x0020_Verification_x0020" /><Value Type="Text">211edd1d11844d6c9f21d7930683caba</Value></Eq></Where></Query> 

et le code de vb.net j'utilise pour a tiré en est comme ceci:

Dim oUserAccStatusList As SPList = oElevatedSPWeb.Lists(sListName) 
       Dim oSPQuery As New SPQuery 
       oSPQuery.Query = "<Query><Where><Eq><FieldRef Name='Account_x0020_Verification_x0020' /><Value Type='Text'>" + _sUserID + "</Value></Eq></Where></Query>" 
       Dim oItems As SPListItemCollection = oUserAccStatusList.GetItems(oSPQuery) 
       If oItems.Count <= 0 Then 

Items.Count est 1 et à l'intérieur il y a un enregistrement avec userid différent de ce que je demandais. Est-ce que quelqu'un sait ce qui se passe, et pourquoi est-ce arrivé? Supprime le noeud de requête de la propriété oSPQuery.Query.

Répondre

1

oSPQuery.Query = "<Where><Eq><FieldRef Name='Account_x0020_Verification_x0020' /><Value Type='Text'>" + _sUserID + "</Value></Eq></Where>" 
+0

Ceci est un problème vraiment méchant. –