SharePoint 2013 多表查询的 0x80070057 错误

环境:SharePoint 2013
场景:在SharePoint 2013 下面进行多表查询。

做表报的时候要做多表查询,然后百度到SPQuery,然后照着写,一直报下面这个错误。。。

System.ArgumentException: 0x80070057 在 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& pbMaximalView) 在 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& pbMaximalView) 在 Microsoft.SharePoint.SPListItemCollection.EnsureListItemsData() 在 Microsoft.SharePoint.SPListItemCollection.GetEnumerator() 在 Amway.DataCenterMaintenance.Web.WebPart.StepExportWP.StepExportWPUserControl.b__0() 在 Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.b__3() 在 Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) 在 Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) 在 Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode) 在 Amway.DataCenterMaintenance.Web.WebPart.StepExportWP.StepExportWPUserControl.btnExport_Click(Object sender, EventArgs e)

被坑了一天。。。
其实很简单的。。。

主要是SPQuery的ProjectedFields里面的字段的类型都需要用Lookup,我之前用他们的List中的字段的类型了,然后就一直报上面那个错误了。

SPList stepList = web.GetList(web.Url + "/Lists/StepList");

                            SPQuery query = new SPQuery();
                            query.Query = @"<Where>
                                              <IsNotNull>
                                                 <FieldRef Name='ID' />
                                              </IsNotNull>
                                           </Where>
                                            <OrderBy><FieldRef Name='Created' Ascending='False' /></OrderBy>";
                            query.Joins = "<Join Type='LEFT' ListAlias='WorkSheetList'><Eq><FieldRef Name='WorkSheetList' RefType='ID'/><FieldRef List='WorkSheetList' Name='ID'/></Eq></Join>";
                            query.ProjectedFields = @"<Field Name='WorkSheetID' Type='Lookup' List='WorkSheetList' ShowField='ID'/>
                                                               <Field Name=''WorkSheetTitle' Type='Lookup' List='WorkSheetList' ShowField='Title'/>";

希望对刚接触SharePoint的你有用。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑小晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值