mysql 高效分页控件及c#调用实例
第一、首先在mysql中创建一个存储过程
BEGIN /*
@selectSql VARCHAR(5000), --sql语句
@orderWhere VARCHAR(200), --排序条件
@pageSize int, -- 每页多少条记录
@pageIndex int = 1 , -- 指定当前为第几页
@TotalPage int output , -- 返回总页数
@totalCount int output -- 返回总记录数
*/ SET @str=CONCAT("SET @tCount=(SELECT COUNT(1) FROM (",selectSql,") as t );");
PREPARE stmt1 FROM @str;
EXECUTE stmt1; -- 总页数
SET @tPage=CEILING((@tCount+0.0)/PageSize);
SET TotalCount=@tCount;
SET TotalPage=@tPage; SET @str=CONCAT(selectSql," ",orderWhere," LIMIT ",(PageIndex-)*PageSize,",",PageSize,";");
PREPARE stmt1 FROM @str;
EXECUTE stmt1; END
二、c#代码:
public static DataSet GetExecuteCustomPageDataSetMySql(string selectSql,string orderwhere, int iPage_Size, int iPage_Index, out int iPageCount, out int iiRecord_Count)
{ DataSet ds = null;
try
{
MySql.Data.MySqlClient.MySqlParameter[] param = new MySql.Data.MySqlClient.MySqlParameter[]
{
//IN selectSql varchar(4000),IN orderWhere varchar(200),IN PageSize int,IN PageIndex int,OUT TotalPage int,OUT TotalCount int
new MySql.Data.MySqlClient.MySqlParameter("?selectSql",selectSql),
new MySql.Data.MySqlClient.MySqlParameter("?orderWhere",orderwhere),
new MySql.Data.MySqlClient.MySqlParameter("?pageSize",iPage_Size),
new MySql.Data.MySqlClient.MySqlParameter("?pageIndex",iPage_Index),
new MySql.Data.MySqlClient.MySqlParameter("?TotalPage", MySql.Data.MySqlClient.MySqlDbType.Int32),
new MySql.Data.MySqlClient.MySqlParameter("?TotalCount", MySql.Data.MySqlClient.MySqlDbType.Int32)
}; param[].Direction = System.Data.ParameterDirection.Output;
param[].Direction = System.Data.ParameterDirection.Output; //cmd.CommandText = "up_ProcCustomPage2005";
//string sql="select * FROM Cabin order by AddTime desc LIMIT 0,20;";
iPageCount = ;
iiRecord_Count = ;
ds = MySqlHelper.ExecuteDataset(MySqlHelper.ConnectionString, CommandType.StoredProcedure, "proc_page", param); try
{
iPageCount = Convert.ToInt32(param[].Value);
iiRecord_Count = Convert.ToInt32(param[].Value);
}
catch (Exception ex)
{ iPageCount = ;
iiRecord_Count = ;
throw;
}
finally
{
//param.cl.Clear();
}
}
catch (Exception e)
{
ds = null; iPageCount = ;
iiRecord_Count = ;
throw;
}
finally
{
//cnn.Close();
//cnn.Dispose();
}
return ds;
}
三、引用例子
public DataSet GetPurchaserSalesVolumeAnalysis(string where,
string sFilter_Condition, int iPage_Size, int iPage_Index, string sTaxisField,
int iTaxis_Sign, out int iPageCount, out int iiRecord_Count)
{ string sql = @"select DISTINCT NewT.ptPaymentDate FlightOrderSub NewT "; string orderwhere = " ORDER BY NewT.ptPaymentDate ";
return BaitourDAO.Common.DBHelper.GetExecuteCustomPageDataSetMySql(
sql
, orderwhere
, iPage_Size
, iPage_Index
, out iPageCount
, out iiRecord_Count);
}
mysql 高效分页控件及c#调用实例的更多相关文章
- sql server高效分页控件及c#调用实例
第一.首先在sqlserver中创建一个存储过程 USE [BZY] GO /****** 对象: StoredProcedure [dbo].[up_ProcCustomPage2005_New] ...
- Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置
0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 ...
- 在DevExpress程序中使用Winform分页控件直接录入数据并保存
一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...
- 如何Windows分页控件中增加统计功能
在我的博客里面,很多Winform程序里面都用到了分页处理,这样可以不管是在直接访问数据库的场景还是使用网络方式访问WCF服务获取数据,都能获得较好的效率,因此WInform程序里面的分页控件的使用是 ...
- 仿淘宝分页按钮效果简单美观易使用的JS分页控件
分页按钮思想: 1.少于9页,全部显示 2.大于9页,1.2页显示,中间页码当前页为中心,前后各留两个页码 附件中有完整例子的压缩包下载.已更新到最新版本 先看效果图: 01输入框焦点效果 ...
- 基于存储过程的MVC开源分页控件--LYB.NET.SPPager
摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件MVCPager(http://www.webdiyer.com/)算 ...
- 分页控件layui的使用
$.getJSON( )的使用方法简介 $.getJSON( url [, data ] [, success(data, textStatus, jqXHR) ] ) url是必选参数,表示json ...
- 基于Bootstrap仿淘宝分页控件实现
.header { cursor: pointer } p { margin: 3px 6px } th { background: lightblue; width: 20% } table { t ...
- C# DataGridView自定义分页控件
好些日子不仔细写C#代码了,现在主要是Java项目,C#.Net相关项目不多了,有点手生了,以下代码不足之处望各位提出建议和批评. 近日闲来无事想研究一下自定义控件,虽然之前也看过,那也仅限于皮毛,粗 ...
随机推荐
- c++中的迭代器 iterator
迭代器iterator的作用类似于指针. iterator只有针对制定<类型>的容器才有效.例如: vector<int> vec; vector<int>::it ...
- Teach Yourself Scheme in Fixnum Days 13 Jump跳转
Jumps One of the signal features of Scheme is its support for jumps or nonlocal control. Specificall ...
- 关于group by
<pre name="code" class="sql">关于group by 排序问题 10g 以前sort group by 需要排序 10g ...
- java开源资源
开到一遍不错的java开源整理,摘录一下,后续遇到好的继续更新. 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置 ...
- 怎样检查手机是否root成功
怎样检查手机是否root成功 浏览:154361 | 更新:2011-01-20 13:10 | 标签:root 总有人以为,root后就可以删除自带程序了,这个想法也对也不对,想删除自带的软件,确实 ...
- 用Update Select批量更新某一字段的值[可以跨库]
SQL:UPDATE test1 SET name = (SELECT y.name FROM DB2.dbo.test2 y WHERE test1.id = y.id)
- poj 2112 Optimal Milking (二分图匹配的多重匹配)
Description FJ has moved his K ( <= K <= ) milking machines <= C <= ) cows. A ..K; the c ...
- 《学习opencv》笔记——矩阵和图像操作——cvCalcCovarMatrix,cvCmp and cvCmpS
矩阵和图像的操作 (1)cvCalcCovarMatrix函数 其结构 void cvCalcCovarMatrix(计算给定点的均值和协方差矩阵 const CvArr** vects,//给定向量 ...
- AssemblyInfo.cs文件的作用
在asp.net中有一个配置文件AssemblyInfo.cs主要用来设定生成的有关程序集的常规信息dll文件的一些參数,以下是默认的AssemblyInfo.cs文件的内容详细介绍 //是否符合公共 ...
- [Redux] React Todo List Example (Filtering Todos)
/** * A reducer for a single todo * @param state * @param action * @returns {*} */ const todo = ( st ...