create procedure proc_page_withtopmax
(
@pageIndex int,--页索引
@pageSize int,--每页显示数
@pageCount int output,--总页数,输出参数
@totalCount int output--总条数
)
as
begin
set nocount on;declare @sql nvarchar(1000)
set @sql='select top 10 * from tb_testtable where (id> (select max(id) from (select top '+str((@pageIndex-1)*@pageSize)+' id from tb_testtable order by id) as temp)) order by id'
execute(@sql)declare @sqlRecordCount nvarchar(1000) --得到总记录条数的语句
set @sqlRecordCount=N'select @recordCount=count(*) from tb_testtable'
declare @recordCount int --保存总记录条数的变量
exec sp_executesql @sqlRecordCount,N'@recordCount int output',@recordCount outputif( @recordCount % @pageSize = 0) --如果总记录条数可以被页大小整除
set @pageCount = @recordCount / @pageSize --总页数就等于总记录条数除以页大小
else --如果总记录条数不能被页大小整除
set @pageCount = @recordCount / @pageSize + 1 --总页数就等于总记录条数除以页大小加1set @totalCount = @recordCountset nocount off;
end--数据库中执行该存储过程
declare @pageCount int, @totalCount intexec proc_page_withtopmax 2,95955,@pageCount output,@totalCount outputselect '总页数:'+str(@pageCount)
select '总条数:'+str(@totalCount)C# 代码调用该带输入输出参数的分页存储过程public static DataSet GetRecordByPage( int pageSize, int pageIndex, out int pageCount, out int totalCount)
{
DataSet ds = new DataSet();
try
{
using (SqlConnection conn = new SqlConnection(@"server=;database=data_test;uid=; pwd=;"))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.Parameters.Add(new SqlParameter("@pageSize", SqlDbType.Int));
cmd.Parameters.Add(new SqlParameter("@pageIndex", SqlDbType.Int));
SqlParameter param = new SqlParameter("@totalCount", SqlDbType.Int);
param.Direction = ParameterDirection.Output;
cmd.Parameters.Add(param);SqlParameter param1 = new SqlParameter("@pageCount", SqlDbType.Int);
param1.Direction = ParameterDirection.Output;
cmd.Parameters.Add(param1);cmd.Parameters[0].Value = pageSize;
cmd.Parameters[1].Value = pageIndex;
cmd.Parameters[2].Value = 0;
cmd.Parameters[3].Value = 0;cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "proc_page_withtopmax";
cmd.CommandTimeout = 180;SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;DataSet source = new DataSet();
adapter.Fill(ds);object o = cmd.Parameters["@totalCount"].Value;
totalCount = (o == null || o == DBNull.Value) ? 0 : System.Convert.ToInt32(o);object b = cmd.Parameters["@pageCount"].Value;
pageCount = (b == null || o == DBNull.Value) ? 0 : System.Convert.ToInt32(b);
}
}
catch (SqlException e)
{
throw e;
}
return ds;
}}

转载于:https://www.cnblogs.com/ChineseMoonGod/p/4663717.html

存储过程参数输入输出相关推荐

  1. C#调用存储过程详解(带返回值、参数输入输出等)

    C#调用存储过程详解(带返回值.参数输入输出等) 这篇文章主要介绍了C#调用存储过程的方法,结合实例形式详细分析了各种常用的存储过程调用方法,包括带返回值.参数输入输出等,需要的朋友可以参考下 本文实 ...

  2. ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift ...

  3. c# mysql存储过程 输出参数值_MySQL 存储过程参数用法 in, out, inout

    MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...

  4. mysql数据存储过程详解_mysql数据存储过程参数实例详解

    MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...

  5. ssrs 存储过程参数配置_如何为纯模式配置报告服务(SSRS)

    ssrs 存储过程参数配置 In SQL Server Reporting Services Native mode, a report server has a role of a standalo ...

  6. MySQL 存储过程参数:in、out、inout

    一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过程内部可能会修改此参数,但对 in 类型参数的修 ...

  7. SQL存储过程参数默认值

    MS SQL 存储过程参数默认值 例子: create procedure pro_Name( @cNo varchar(8), @cName varchar(20)= '%' ) as begin ...

  8. mysql的存储过程的参数_MySQL 存储过程参数

    MySQL  存储过程参数 MySQL存储过程参数简介 在现实应用中,开发的存储过程几乎都需要参数.这些参数使存储过程更加灵活和有用. 在MySQL中,参数有三种模式:IN,OUT或INOUT. IN ...

  9. c oracle存储过程返回值,C#调用存储过程详解(带返回值、参数输入输出等)

    本文实例讲述了C#调用存储过程的方法.分享给大家供大家参考,具体如下: CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @stu ...

最新文章

  1. 怎么修改存储路径_修改桌面文件默认存储位置的正确方式及注意事项
  2. bose耳机信号断续_挥汗如雨的夏季将至,5款运动型蓝牙耳机安利给你
  3. ArrayList实现原理
  4. cuda合并访问的要求_【CUDA 基础】4.3 内存访问模式
  5. JSK-16 爬楼梯【基础】
  6. shell将输入的参数逆序
  7. numpy mean
  8. (数据库篇) SQL查询~ 存在一个表而不在另一个表中的数据
  9. 大型企业数据库服务首选,AliSQL这几大企业级功能你了解几个?
  10. 国二java好过还是office好过,计算机二级考哪一个科目比较容易过,Ms office 较为简单实用...
  11. 计算机RRC是什么指令,srb0 srb1 srb2的区别_srb什么意思_srb1 RRC建立请求
  12. Unity—英雄无敌(前方高能)
  13. android相机网格,Android – 在相机上显示网格线
  14. 用JavaScript写的一个摇号程序(随机数)
  15. 新宜中国携手fone,踏上预算管理新征程
  16. 浅谈对于封装、继承与多态的理解(Java)
  17. 熬夜整理两万字Python知识点
  18. 卸载idea步骤(快速彻底)
  19. 为什么钢结构行业ERP和MES系统缺一不可?
  20. eclipse中将背景颜色设置为护眼豆沙绿数值色调–85 饱和度–123 亮度–205

热门文章

  1. 如何构建高性能web站点之:分布式缓存
  2. 小码哥iOS学习笔记第八天: block的底层结构
  3. [UWP]用Shape做动画(2):使用与扩展PointAnimation
  4. 1131: 零起点学算法38——求阶乘和
  5. 由几个问题引出EJB的概念
  6. mysql数据库基本操作练习
  7. Framework7:不会Objective-C,也能开发iOS7应用
  8. DevExpress右键菜单使用 zt
  9. Eclipse导入import sun.misc.BASE64Decoder报错的解决办法
  10. PHP 设计模式系列 —— 资源库模式(Repository)