当前位置: 首页 > news >正文

模糊查询+分页

 /// <summary>
        /// 查询员工
        /// </summary>
        /// <param name="queryString">待查询的字符串</param>
        /// <returns></returns>
        public static IList<Xlzt.DataAccessLayer.Member> QueryMember(out int totleCount, int pageNum, int pageSize,String queryString)
        {
            try
            {
                using (Xlzt.DataAccessLayer.CRM_DBEntity db = new CRM_DBEntity())
                {
                    //按员工姓名,工号,部门三个字段模糊查询
                    var result = db.Members.OrderBy(c=>c.account).Where(obj => obj.name.StartsWith(queryString) || obj.name.EndsWith(queryString) || obj.name.IndexOf(queryString) != -1
                       || obj.account.StartsWith(queryString) || obj.account.EndsWith(queryString) || obj.account.IndexOf(queryString) != -1
                         || obj.department.StartsWith(queryString) || obj.department.EndsWith(queryString) || obj.department.IndexOf(queryString) != -1
                        );
                    //获取总记录数目
                    totleCount = result.ToArray().Length;
                    //获取请求页的最大索引
                    int max = (result.ToArray().Length <= pageNum * pageSize) ? result.ToArray().Length : pageNum * pageSize;
                    if (max < (pageNum - 1) * pageSize)
                    {
                        //请求页的最大索引比它上一页的最大索引还小:矛盾
                        return null;
                    }
                    else if (max < pageSize * pageNum)
                    {
                        //请求页是左后一页
                        return result.Skip((pageNum - 1) * pageSize).ToList();//使用Skip时要使用OrderBy
                    }
                    else
                    {
                        //请求页正常返回
                        return result.Skip((pageNum - 1) * pageSize).Take(pageSize).ToList();
                    }
                   
                }
            }
            catch (Exception)
            {
                totleCount = 0;
                return null;
            }

        }

 

转载于:https://www.cnblogs.com/yinluhui0229/archive/2012/07/09/2583796.html

相关文章:

  • SQLServer基本操作
  • 正则表达式—贪婪与非贪婪模式
  • 05-maven学习-构建web项目
  • [更新]缓存管理的帮助类(MemoryCache版,需要.net 4以上)
  • CXF2.7.7 java.lang.RuntimeException: Cannot create a secure XMLInputFactory
  • C#对象克隆介绍 (转)
  • 使用tpcc-mysql进行性能测试
  • Struts action的单例与多例
  • windows下实现屏幕分享(C#)
  • Urxvt最简配置
  • 解决SecureCRT连接linux终端中文显示乱码
  • 无需重启,让组策略立即生效
  • 接触GitHub的第一次
  • android学习总结(20120721)
  • Java设计模式之依赖倒置原则
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • Create React App 使用
  • css系列之关于字体的事
  • ECMAScript入门(七)--Module语法
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • nginx 负载服务器优化
  • Python socket服务器端、客户端传送信息
  • text-decoration与color属性
  • uva 10370 Above Average
  • 包装类对象
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 聊聊redis的数据结构的应用
  • 盘点那些不知名却常用的 Git 操作
  • 延迟脚本的方式
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 中文输入法与React文本输入框的问题与解决方案
  • 追踪解析 FutureTask 源码
  • ​用户画像从0到100的构建思路
  • #100天计划# 2013年9月29日
  • $.ajax,axios,fetch三种ajax请求的区别
  • ${ }的特别功能
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (多级缓存)缓存同步
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一)u-boot-nand.bin的下载
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • /var/spool/postfix/maildrop 下有大量文件
  • @Valid和@NotNull字段校验使用
  • []Telit UC864E 拨号上网
  • []串口通信 零星笔记