SQL语句实现分页——直接DAL里直接写分页

public DataTable SelectV2(DateTime time1, DateTime time2, int czlx, string Name, int pageIndex, int pageSize, out int pageCount)

{

StringBuilder sb = new StringBuilder();

StringBuilder sbCount = new StringBuilder();

StringBuilder Sqlstr = new StringBuilder();

Sqlstr.Append("select *");

sbCount.Append("select Count(*)");

sb.Append(" from (SELECT ROW_NUMBER() OVER  (order by RecordTime desc)  AS ROWID,     ");

sb.Append("* ");

sb.Append(" from T_SystemLog");

if (time1.Date == time2.Date)

{

time1 = time1.Date;

}

sb.Append(" where RecordTime between ‘"+time1+"‘ and ‘"+time2+ "‘" );

if (czlx != 4)

{

sb.AppendFormat("and StatemType = {0} ", czlx);

}

if (Name != "" && Name != null && Name.Length > 0)

{

sb.AppendFormat(" and systemUser like ‘%{0}%‘ ", Name);

}

//sb.Append(" order by RecordTime desc ");

sb.Append("  )tempTable ");

Sqlstr.Append(sb.ToString());

Sqlstr.Append(" where ROWID between " + ((pageIndex * pageSize - pageSize) + 1) + " and " + pageIndex * pageSize + "");

sbCount.Append(sb.ToString());

DataSet ds = DbHelper.Query(Sqlstr.ToString());

if (ds != null && ds.Tables[0].Rows.Count > 0)

{

pageCount = Convert.ToInt32(DbHelper.GetSingle(sbCount.ToString()));

}

else

{

pageCount = 0;

}

return ds.Tables[0];

}

时间: 2024-11-06 02:05:54

SQL语句实现分页——直接DAL里直接写分页的相关文章

解决 微信包含emoji表情的昵称,直接用sql语句可以写入而在yii2框架写却写不成功的 问题

背景: 首先是emoji表情写入不成功,在网上查了许多资料,包括配置mysql,重启mysql等等,这样之后发现还是写入失败. 将sql语句复制出来,直接粘贴到mysql客户端执行,发现没问题.而通过代码写入却有问题 解决方案: 在config/db.php中将charset = 'utf8'改为charset='utf8mb4' 原生php也类似,可以检查代码中的charset 原文地址:https://www.cnblogs.com/roggeyue/p/10811993.html

在mybatis执行SQL语句之前进行拦击处理

比较适用于在分页时候进行拦截.对分页的SQL语句通过封装处理,处理成不同的分页sql. 实用性比较强. import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import java.util.Properties; import org.apache.ibatis.e

Hibernate直接执行SQL语句

又到周六时间了.我有一次帮公安局开发项目时,有这么一个需求,在做统计报表的时候,我在Oralce数据中创建了一个视图,按管辖单位进行了分组,计算了每个管辖单位涉案人数及接警人数等,数据库视图倒是出来了,但是前台需求一个时间查询,也就是客户可以按时间检索,可是视图中,只能加上固定的时间进行where查询,但不能把时间字段加进去,一旦把时间字段加进去的话,就变成了按时间分组,原本管辖单位是六十来个,按时间分组就变成了上千上万条信息,这是不合要求的,这样根本无法统计出每个管辖单位的数据,因为数据库大,

web项目之BBS发布至新浪云配置修改以及sql语句修改问题小结

将在myeclipse写好的web项目发布到新浪云服务器上,需要修改一些文件以及代码,我们是以tomcat为服务器的,数据库选用的是oracle,但是新浪云采用的是 mySQL,很显然,使用JNDI配置Tomcat的数据连接池是用不了的,基于oracle的简单sql语句,mySQL也可以运行,但是分页.伪列.序列.都是不被支持的,将oracle语句转为mySQL语句,请看链接: <a target=_blank href="http://http//user.qzone.qq.com/37

批量执行sql语句

基本使用 $sqls="sql语句1;sql语句2;sql语句n"; 或 $sqls="insert into xx;";  $sqls.="insert into xx;"; $res=mysqli::multi_query($sqls); 如果$sqls 是dml 语句,则$res 返回布尔值: 如果$sqls 是dql 语句,则$res 返回多个结果集,需要使用mysqli::store_result() 和 mysqli::more_re

iBatis2 SqlMap中常用sql语句

本来我也不喜欢iBatis,那是因为我当时还不怎么会用它,现在我想说,iBatis是个好东西,不信你试试看.下面是我在项目实践中对iBatis的一个小总结,希望帮助众多在疲于iBatis编码而无暇思考的苦工们找到一些偷懒的机会. SqlMap的配置是iBatis中应用的核心.这部分任务占据了iBatis开发的70的工作量. 1.命名空间: <sqlMap namespace="Account">,在此空间外要引用此空间的元素,则需要加上命名空间名. 2.实体的别名: <

oracle case where 复杂sql语句

update hr_user u set u.is_approve=(case when u.curr_org_id in (select t.org_id from hr_organization t start with t.org_id = 10001263 connect by prior org_id = t.org_id_parent) then 'N' ELSE 'Y' END); update hr_user u set u.is_approve=(case when u.cur

C#根据反射生成sql语句(Update语句)

今天有人问我Update语句怎么搞,想了一下大致思路就是用特性去标识一下,主键,然后再去用反射的方式拼sql语句. 想着晚上再写,又想了想的确好久没写博客了,也好久没正儿八经写代码了,就顺手给写了下来. 一.主键特性 /// <summary> /// 主键特性(在实体类的上方加这个特性,指定该类的主键名称) /// </summary> [AttributeUsage(AttributeTargets.Class)] public class PrimaryKeyAttribut

第三章: 简单Sql语句介绍

SQL概述 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统:同时也是数据库脚本文件的扩展名. 从上可以看出我们数据库相关工作职位大概两种:DBD和DBA DBD:数据库开发 DBA:数据库管理 SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准.1989年4月,ISO提出了具