获取或设置查询中使用 XML 在内部。
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public Property Query As String
Get
Set
用法
Dim instance As SPQuery
Dim value As String
value = instance.Query
instance.Query = value
public string Query { get; set; }
属性值
类型:System.String
一个字符串,包含定义查询的协作应用程序标记语言中的片段。该字符串对应于 CAML,不包括开始和结束的<Query></Query>标记的查询元素的内部 XML。
备注
警告
您必须包括一个Where元素。如果不这样做,没有错误消息,但将返回列表中的每个项。除了对性能有负面影响,这是具有潜在危险的情况下当您的代码对返回的每个项目进行了更改。
示例
下面的代码示例使用Query属性来定义一个查询,返回的Field2值是大于 1000年项。
备注
有关如何使用语言集成查询 (LINQ) 查询来检索SharePoint Foundation中的列表项的信息,请参阅Managing Data with LINQ to SharePoint。
此示例要求using指令 (Imports Microsoft Visual Basic 中) 为Microsoft.SharePoint和Microsoft.SharePoint.Utilities的命名空间。
Dim webSite As SPWeb = SPContext.Current.Site.RootWeb
Try
Dim list As SPList = webSite.Lists("List_Name")
Dim query As New SPQuery()
query.ViewFields = "<FieldRef Name='Field1'/>" + _
"<FieldRef Name='Field2'/>"
query.Query = "<Where><Geq><FieldRef Name='Field2'/>" + _
"<Value Type='Number'>1000</Value></Geq></Where>"
Dim items As SPListItemCollection = list.GetItems(query)
Dim item As SPListItem
For Each item In items
Response.Write((SPEncode.HtmlEncode(item.Xml) + "<BR>"))
Next item
Finally
webSite.Dispose()
End Try
using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb)
{
SPList oList = oWebsiteRoot.Lists["List_Name"];
SPQuery oQuery = new SPQuery();
oQuery.ViewFields = "<FieldRef Name='Field1'/>" +
"<FieldRef Name='Field2'/>";
oQuery.Query = "<Where><Geq><FieldRef Name='Field2'/>" +
"<Value Type='Number'>1000</Value></Geq></Where>";
SPListItemCollection collListItems = oList.GetItems(oQuery);
foreach (SPListItem oListItem in collListItems)
{
Response.Write(SPEncode.HtmlEncode(oListItem.Xml) + "<BR>");
}
}
备注
某些对象实现IDisposable接口,并必须避免后不再需要保留这些对象在内存中。好的编码做法有关的信息,请参阅Disposing Objects。