我正在尝试使用下面列出的CAML查询从SP列表中获取数据。
CAML查询
oQuery.Query = "<Where><Eq><FieldRef Name='"
+ jTitleMappingList.Fields["SET Area"].InternalName + "'/>"
+ "<Value Type='LOOKUP'>" + ddlSubsite.SelectedValue
+ "</Value></Eq></Where>";
错误消息面临:
{Microsoft.SharePoint.SPException:一个或多个字段类型不是 安装得当。转到列表设置页面以删除它们 领域。 ---&GT; System.Runtime.InteropServices.COMException(0x81020014): 未正确安装一个或多个字段类型。转到列表 设置页面删除这些字段。在 Microsoft.SharePoint.Library.SPRequestInternalClass.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient,String bstrUrl,String bstrListName,String bstrViewName, String bstrViewXml,SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback,ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback,ISPDataCallback pFilterLinkCallback,ISPDataCallback pSchemaCallback,ISPDataCallback pRowCountCallback,Boolean&amp; pbMaximalView)at Microsoft.SharePoint.Library.SPRequest.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient,String bstrUrl,String bstrListName,String bstrViewName, String bstrViewXml,SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback,ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback,ISPDataCallback pFilterLinkCallback,ISPDataCallback pSchemaCallback,ISPDataCallback pRowCountCallback,Boolean&amp; pbMaximalView)---内心的结束 异常堆栈跟踪--- at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)
在 Microsoft.SharePoint.Library.SPRequest.GetListItemDataWithCallback2(IListItemSqlClient pSqlClient,String bstrUrl,String bstrListName,String bstrViewName, String bstrViewXml,SAFEARRAYFLAGS fSafeArrayFlags, ISP2DSafeArrayWriter pSACallback,ISPDataCallback pPagingCallback, ISPDataCallback pPagingPrevCallback,ISPDataCallback pFilterLinkCallback,ISPDataCallback pSchemaCallback,ISPDataCallback pRowCountCallback,Boolean&amp; pbMaximalView)at Microsoft.SharePoint.SPListItemCollection.EnsureListItemsData()at Microsoft.SharePoint.SPFieldCollection.PopulateReturnedFieldsSafeArray() 在 Microsoft.SharePoint.SPFieldCollection.EnsureFieldsSafeArray(布尔 bGetFullXML)在Microsoft.SharePoint.SPFieldCollection.get_Count() 在Microsoft.SharePoint.SPFieldCollection.get_Item(Int32 iIndex)at AZ.SharePoint.RST.AddUsersFromExcelUtility.RSTArchiveSetArea.RSTArchiveSetAreaUserControl.b__0()}
我尝试创建一个自定义视图,其中列逐个添加,但是找不到有问题的列也没有用。并且还尝试添加具有内部名称的列以引用CAML查询过滤器,但之后查询也无法获取所需的结果。
答案 0 :(得分:1)
该错误消息通常意味着您的CAML查询的语法有问题。
Type='LOOKUP'
更改为Type='Lookup'
jTitleMappingList.Fields["SET Area"].InternalName
的值解析为列表中某个字段的实际内部名称答案 1 :(得分:0)
我们不确定您是如何构建查询的,但这里只是一个小例子:
query.Query = "<Where><Eq><FieldRef Name='SharePointFielName' /><Value Type='Text'>" + ddlSubsite.SelectedValue +</Value></Eq></Where>";
此链接可能有助于您更好地理解;
https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.list.getitems(v=office.14).aspx