分页存储过程的T—SQL在之前的文章中已经跟大家分享过了

现在就对应 分页存储过程 跟大家分享下在.net中执行的函数。

该文章是希望给予新手一些编程过程中的帮助(大神可以帮忙指出代码中的不妥之处)

public static DataTable PageQuery(string sqlconn, CommandType command_type, PageSearch DbConnection, ref Int32 totalCount, bool bNeedCloseConn = true)
{
SqlConnection cn = null;
SqlCommand Mcmd;
DataTable dt = new DataTable();
try
{
SqlParameter[] para = new SqlParameter[];
para[] = new SqlParameter("@tab", DbConnection.DbTable);
para[] = new SqlParameter("@PrimaryKey", DbConnection.DbPrimaryKey);
para[] = new SqlParameter("@strFld", DbConnection.DbFiles);
para[] = new SqlParameter("@strWhere", DbConnection.Where);
para[] = new SqlParameter("@PageIndex", DbConnection.PageIndex);
para[] = new SqlParameter("@PageSize", DbConnection.PageSize);
para[] = new SqlParameter("@Sort", DbConnection.Sort);
para[] = new SqlParameter("@Order", DbConnection.Order);
para[] = new SqlParameter("@IsDistinct", DbConnection.IsDistinct);
para[] = new SqlParameter("@TotalCount", SqlDbType.Int);
para[].Direction = ParameterDirection.Output;
cn = comm_fun.get_cn(sqlconn);
cn.Open();
// 声明哪个执行存储过程
Mcmd = new SqlCommand("pro_common_pageList", cn);
Mcmd.CommandType = command_type;
Mcmd.Parameters.AddRange(para);
if (cn.State != ConnectionState.Open)
cn.Open();
// 获取分页数据集
SqlDataReader sqldr = Mcmd.ExecuteReader();
dt.Load(sqldr);
sqldr.Close();
// 返回总记录数
totalCount = para[].Value;
if (bNeedCloseConn == true)
{
Mcmd.Dispose();
cn.Close();
}
Mcmd.Parameters.Clear(); // 清掉参数以便下次使用
return dt;
}
catch (Exception ex)
{
return dt;
}
finally
{
comm_fun.CloseConnection(cn);
}
}

注:上述代码中 “comm_fun” 是封装好的SqlHellper类。"pro_common_pageList"是存储过程名称

asp.net—执行分页存储过程的函数的更多相关文章

  1. asp.net执行SqlServer存储过程!(详解!)

    ASP.NET执行存储过程 一. 执行一个没有参数的存储过程的代码如下: connectionString为连接字符串 SqlConnection conn=new SqlConnection(con ...

  2. 【转】ASP.NET 高效分页存储过程

    代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...

  3. MySQL基础值 存储过程和函数

    一.创建存储过程和函数 什么是创建存储过程和函数? 就是将经常使用的一组SQL语句组合在一起,并将这些SQL语句当做一个整体存储在MYSQL服务器中. 创建存储过程的语句是:CREATE  PROCE ...

  4. mysql 存储过程,函数,触发器

    存储过程和函数 mysql> HELP CREATE PROCEDURE; Name: 'CREATE PROCEDURE' Description: Syntax: CREATE [DEFIN ...

  5. mysql存储过程和函数(一)

    存储过程和函数是事先经过编译并存储在数据库的一段sql语句集合,调用存储过程和函数可以简化应用程序开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对提高数据运行效率是有好处的. 存储过程和 ...

  6. MySQL基础笔记(六) 存储过程与函数

    写在开头:本文所有的示例都是基于workers表,表中保存了某公司的员工姓名.性别.工资.年龄和居住城市,如下: +----+-----------+--------+--------+------+ ...

  7. SqlServer分页存储过程(多表查询,多条件排序),Repeater控件呈现数据以及分页

        存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出 ...

  8. asp.net中分页与存储过程的一些总结

    一.接上文,使用的是jquery AJAX 进行分页 分页存储过程代码如下: ALTER PROCEDURE [dbo].[USP_GetAlbumByPage] @pageIndex int,--当 ...

  9. (转)asp.net分页存储过程

    Asp.Net分页存储过程 SQL分页语句 一.比较万能的分页: sql代码: 1 2 3 select top 每页显示的记录数 * from topic where id not in  (sel ...

随机推荐

  1. iframe父窗口和子窗口之间的调用

    1>父窗口获取子窗口 js方法 document.getElementById('if1').contentWindow.document: window.frames["if1&qu ...

  2. Android 获取ROOT权限原理解析

    一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android玩家中常说的“越狱”有一个更深层次的认识. 二. Root的介绍 1.       Root 的目的 可以让 ...

  3. 767A Snacktower

    A. Snacktower time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  4. conn not captured

    线程 和 事件中 变量 not captured 把变量定义为 static 或者添加为全局变量(放在main之前)

  5. CSV 文件

    CSV 文件 CSV(Comma Separated Values 逗号分隔值) 是一种文件格式(如.txt..doc等),也可理解 .csv 文件就是一种特殊格式的纯文本文件.即是一组字符序列,字符 ...

  6. Netty 系列(三)Netty 入门

    Netty 系列(三)Netty 入门 Netty 是一个提供异步事件驱动的网络应用框架,用以快速开发高性能.高可靠性的网络服务器和客户端程序.更多请参考:Netty Github 和 Netty中文 ...

  7. 8.14 右键自定义菜单 更加iframe 内容高度调整 iframe高度 js定时

    <div class="main_contain" id="z_div" style="position: relative;"> ...

  8. springmvc cfx 整合

    1.先看一下目录列表,本人用的是eclipse 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xm ...

  9. Socket使用大全

    第一部分.概念的理解 1.什么是Socket? Socket又称之为“套接字”,是系统提供的用于网络通信的方法.它的实质并不是一种协议,没有规定计算机应当怎么样传递消息,只是给程序员提供了一个发送消息 ...

  10. JavaScript 静态方法和实例方法

    总结: 直接定义在构造函数上的方法和属性是静态的,  定义在构造函数的原型和实例上的方法和属性是非静态的 静态方法: function ClassA(){ //定义构造函数 }; ClassA.fun ...