gpt4 book ai didi

c# - SharePoint SPListItemCollection,将项目添加到空白列表

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:07 25 4
gpt4 key购买 nike

我可能完全错误地解决了这个问题,但我对 SP 开发还是有点陌生​​,而且已经很晚了。

编辑:是的,我在想这个问题。我只记得 SPListCollection 与数据库相关联,如果我要添加记录,它将不起作用。我将改为尝试交叉列表查询。

我有两个 SP 列表,我需要查询一个,获取项目列表,然后使用这些项目 ID 查询另一个列表以获取它的“ child ”,每个 parent 可以有多个 child 。

我可以让它正常工作,关键是我需要构建一个 SPListItemCollection 以用于代码的其他部分。我正在尝试改造一些东西以使用这个新的查找过程,并且它全部基于 SPListItemCollections。这是一个代码片段:

foreach (SPListItem i in NAICParents)
{


//query child slides
SPQuery qChildren = new SPQuery();
SPFieldLookupValue tmp = new SPFieldLookupValue(i.ID, i.Title);
qChildren.Query = "<Where><Eq><FieldRef Name=\"paNAICParent\" /><Value Type=\"Lookup\">" + tmp.ToString().Substring(tmp.ToString().IndexOf('#') + 1) + "</Value></Eq></Where>";
target = _web.Lists["paNAICUpdateSlides"];
SPListItemCollection children = target.GetItems(qChildren);

SPListItem temp = null;
foreach (SPListItem l in children)
{
temp =itmAll2.Add();
temp = l;
temp.Update();


}
}

它死于 temp = itmAll2.add() 。我收到空引用错误。这是有道理的,因为我从未实例化过 SPListItemCollection,但我无法获得让我将其实例化为空白的代码。

我可以复制列表的结构来实例化一个空白列表吗?或类似的东西?

谢谢,

最佳答案

我不建议尝试在您的代码中重用 SPListItemCollection。这可能导致 SPWeb objects being reopened在幕后。

相反,我会使用 SPListItemCollection.GetDataTable获取一个 DataTable 来保存您的内存对象,然后您可以在代码中重复使用该对象。或者,您可以创建与列表中的每个项目相对应的 Bean 对象。

然后,您可以在内存对象中添加或删除项目,而无需打开更多数据库连接。

关于c# - SharePoint SPListItemCollection,将项目添加到空白列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5254280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com