sharepoint列表如何进行随机取几条记录?
sharepoint列表如何进行随机取记录?由于itemid是不连续。可能存在删除添加等操作导致
我们可以采用随机取第几条记录。把记录集合取出来。产生随机第几条数。这里关键是如何产生不重复的随机数
方法如下:
#region//获取随机数/// <summary>/// 获取随机数/// </summary>/// <param name="Number">随机个数</param>/// <param name="minNum">随机的最小数</param>/// <param name="maxNum">随机的最大数</param>/// <returns></returns>public static int[] GetRandomArray(int Number, int minNum, int maxNum){int j;int[] b = new int[Number];Random r = new Random();for (j = 0; j < Number; j++){int i = r.Next(minNum, maxNum + 1);int num = 0;for (int k = 0; k < j; k++){if (b[k] == i){num = num + 1;}}if (num == 0){b[j] = i;}else{j = j - 1;}}return b;}#endregion
//得到最大数int maxRandom = list.Items.Count;//最小1int minRandom = 1;//得到随机数组int[] randArr = GetRandomArray(topNumber, minRandom, maxRandom);//读取SPQuery query = new SPQuery();//过滤后的记录SPListItemCollection listItemCollection = list.GetItems(query);#region//如果有记录if (listItemCollection !=null && listItemCollection.Count>0){//foreach//计数器int i = 1;//得到记录计数器int j = 0;foreach(SPListItem randItem in listItemCollection){#region//若计数器在随机数组里头,如果存在if (((IList)randArr).Contains(i)){//取记录//******************读取id,工号,姓名,图片url,EmployeeEntity randentity = new EmployeeEntity();//randentity.ItemID = randItem["ID"] == null ? string.Empty :randItem["ID"].ToString();//工号randentity.EmployeeNO = randItem["EmployeeNO"] == null ? string.Empty :randItem["EmployeeNO"].ToString();//姓名randentity.EmployeeName = randItem["EmployeeName"] == null ? string.Empty :randItem["EmployeeName"].ToString();//*****************图片url//result.Add(randentity);//计数器+1j++;}//如果已经获取50张,则退出循环if(j == topNumber){break;}//计数器+1i++;#endregion}}#endregion
sharepoint列表如何进行随机取几条记录?的更多相关文章
- 【转】oracle 中随机取一条记录的两种方法
oracle 中随机取一条记录的两种方法 V_COUNT INT:=0; V_NUM INT :=0; 1:TBL_MYTABLE 表中要有一个值连续且唯一的列FID BEGIN SELECT COU ...
- Oracle数据库随机取某条记录的一个字段值
思路: 先将取出的值随机排序,然后在随机排序的每次取第一条的结果 举例如下: select * from(select t.code fromTBIZOPS_PROVINCE t ORDER BY ...
- 数据库随机取n条记录
SQL Server SELECT TOP N * FROM 表名 ORDER BY NEWID() My SQL SELECT * FROM 表名 ORDER BY RAND() ...
- mysql随机取一条记录
function getTodayLook($limit) { $sql = "select * from `tvhome_movie_today` order by rand() limi ...
- 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录
从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO ,NAME ) DEFAULT ...
- 从数组中随机取n条不重复的数据
工作中经常遇到有关数组的一些操作 1. 从数据中随机取n条不重复的数据 (PS:下面的S.each是KISSY.each方法,大家可以改为for循环) /* 1 从数组arr中随机取n条不重复的数据 ...
- Mysql 多表数据拼接插入及子查询结果集随机取一条
最近遇到一个测试数据的需求,需要往一个表中插入4个来源的数据. 往orders 表中插入 来自 sql_person cm_user_car_model cm_sp_product_new 部分固定数 ...
- mysql使用——sql实现随机取一条数据
最近在做接口测试的时候,测试数据是从数据库查询的,但是当需要并发多次去调用接口时,如果sql只是单纯的进行了limit取值,那并发的时候肯定会每条数据都一样. 因此,研究了下sql随机取一条数据的写法 ...
- SQL语句:随机取3条不重复的记录
随机取3条不重复的记录 [Access]select top 3 * from tablename order by rnd(id); [SqlServer]select top 3 * from t ...
随机推荐
- [转载]AxureRP使用参考建议
这些参照建议是马克总结出来的,我只是借用过来给大家参考,在此先感谢一下马克.对于很多学习或者刚使用AxureRP的产品经理们或者朋友们,总会有一些对于AxureRP该怎么使用的更合适想法,也有对Axu ...
- [转载]UML类图总结
前言 类图和序列图是UML中最常用的两种Diagram.我将做详细的总结.在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系.这足以说明 ...
- JVM之类加载器上篇
首先我们先看一个示例程序: package com.tfdd.test; /** * @desc 类加载校验 * @author chenqm * @date 2016年2月2日 */ class S ...
- ios基础之 透过页面跳转来认识 Strong 与 Weak
最近在自己做一个小程序,遇到了页面跳转的问题,然后上网一通乱搜,跳转的问题解决了,又有传值的问题.上面两个问题解决了,又发现内存比刚开始时多占用了2M,于是,各种内心纠结,想彻底 搞清楚strong ...
- 【转】同一台Windows机器中启动多个Memcached服务
上一篇介绍了Memcached的安装,但是如果手头上只有一台机器,又想做多节点测试咋办? 这就需要在一台机器上启动多个Memcached服务了. 假设Memcached在如下目录:C:\memcach ...
- 【转载】ASP.NET MVC的过滤器
APS.NET MVC中(以下简称“MVC”)的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理.这时候就用到了过滤器. MVC支持的过滤器 ...
- Razor语法
1. 截取字符串 @(i.Title.Length > 18 ? i.Title.Substring(0, 18) + "" : i.Title) 2. 格式化日期 @s ...
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- printf的题目
以前学习于渊老师的<自己动手写操作系统>一书的时候,也自己实现过printf,不过那是比较简单的版本.最近看<程序员面试宝典>,做到这么一道题目:#include <st ...
- PHP导入excel数据到MYSQL
这里介绍一个直接将excel文件导入mysql的例子.我花了一晚上的时间测试,无论导入简繁体都不会出现乱码,非常好用.PHP-ExcelReader,下载地址: http://sourceforge. ...