邹建的分页存储过程改了一下
邹建的分页存储过程增强版——高效分页并同步记录总数
在日常应用中,分页显示数据是一个常见的需求。邹建的分页存储过程为我们提供了这一功能,但原始版本无法直接返回记录总数,导致每次分页时都需要额外统计一次,效率不高。为此,我对该存储过程进行了优化,使其可以返回记录总数,极大地提高了使用便捷性和效率。
在调用此优化后的分页存储过程时,首先需要定义一个输出变量以获取记录总数。这个输出变量定义在SQL语句之前。接着,执行统计记录数的SQL语句,通过该语句获取当前页的记录数。以下是调用方法的示例(ASP):
数据库连接字符串:
```vbscript
MyConStr = "Driver={SQL Server};server=(local);Uid=artme;Pwd=;Database=artme"
```
接下来,创建命令对象并设置相关参数:
```vbscript
DIM MyComm, UserID, UserName
Set MyComm = Server.CreateObject("ADODBmand")
With MyComm
.ActiveConnection = MyConStr '设置数据库连接字符串
mandText = "p_show" '指定存储过程名
mandType = 4 '表明这是一个存储过程
.Prepared = True '要求将SQL命令先行编译
```
然后,为存储过程添加参数:
```vbscript
.Parameters.Append .CreateParameter("RETURN", 2, 4) '添加返回记录数的参数
.Parameters.Append .CreateParameter("@iPageCount", 3, 2) '添加记录总数的输出参数
.Parameters.Append .CreateParameter("@QueryStr", 200, 1, 0) '添加查询语句参数
.Parameters.Append .CreateParameter("@PageSize", 3, 1, 4) '添加每页显示的记录数参数
.Parameters.Append .CreateParameter("@PageCurrent", 3, 1, 4, 1) '添加当前页码参数
.Parameters.Append .CreateParameter("@FdShow", 200, 1, 0) '其他查询条件参数(根据实际情况调整)
.Parameters.Append .CreateParameter("@FdOrder", 200, 1, 1000) '排序条件参数(根据实际情况调整)
```
执行存储过程并获取结果:
```vbscript
.Execute
iCount = MyComm(1) '获取记录总数(即第一参数的值)
Response.write iCount '输出记录总数到前端页面
```
这样,你就可以通过优化后的分页存储过程高效地进行数据分页显示,并同步获取记录总数。如需了解更多细节或进行进一步的定制,请访问我的博客或联系本人。如有任何疑问或反馈,欢迎通过以下链接进行联系或交流:< `cambrian.render('body')` 以正确渲染页面内容。
编程语言
- 邹建的分页存储过程改了一下
- jQuery 开发之EasyUI 添加数据的实例
- Smarty保留变量用法分析
- PHP基于接口技术实现简单的多态应用完整实例
- PHP const定义常量及global定义全局常量实例解析
- JS使用new操作符创建对象的方法分析
- 解决vue this.$forceUpdate() 处理页面刷新问题(v-fo
- PHP将英文数字转换为阿拉伯数字实例讲解
- js实现文字跑马灯效果
- 可以让程序告诉我详细的页面错误和数据库连接
- vue 监听某个div垂直滚动条下拉到底部的方法
- 微信小程序 保留小数(toFixed)详细介绍
- 自动清理 MSSQL Server Table Collation问题的解决方法
- 深入解读php中关于抽象(abstract)类和抽象方法的问
- Javascript中的arguments对象
- 7个鲜为人知却非常实用的PHP函数