话不多说...来求教了..
想寻觅MySql的分页存储过程以及在C# winform中的调用
第一次接触MySql 不要说我百度没有 谷歌没有 我查了 很多都有错
希望耐心指教
跪谢~
想寻觅MySql的分页存储过程以及在C# winform中的调用
第一次接触MySql 不要说我百度没有 谷歌没有 我查了 很多都有错
希望耐心指教
跪谢~
解决方案 »
- asp.net 自定义类类型详细解一下,可以吗
- 为什么我设计的报表(RDLC)是横向的,在reportview中预览也是横向的,但是打印时却成了纵向的,应该如何用代码解决?高分感谢!
- 反过来,一个问题,将刚得到datagridview里的数据,插入到sql数据库中
- 在脚本里给画面上的hidden控件赋值,为什么SubmiT回来的时候,控件的值为NULL了呢?
- [简单问题]寻一简单的用户登录验证代码.
- 求解 c# 中窗体重绘问题
- 哎,郁闷呀!!问个问题,散点分,
- 请教关于Duwamish中制定DataSet的问题
- 怎样在windows窗体之间传递参数, 比如根据登陆情况确定主窗口的界面,在线等!!!
- 程序初始化失败自动退出的问题
- 基础问题:层的位置问题
- [assembly: InternalsVisibleTo("类库名")]
http://download.csdn.net/source/1130196
看一下这两个吧,这是C#连接mysql的两种方法.存储过程没有现成的.没咋用过MYSQL,你可以找一个mssql的改一改就可以了.
delimiter $$
drop procedure if exists prc_page_result $$
create procedure prc_page_result (
in currpage int,
in columns varchar(500),
in tablename varchar(500),
in sCondition varchar(500),
in order_field varchar(100),
in asc_field int,
in Prima(最完善的虚拟主机管理系统)ry_field varchar(100),
in pagesize int
)
begin
declare sTemp varchar(1000);
declare sSql varchar(4000);
declare sOrder varchar(1000);
if asc_field = 1 then
set sOrder = concat(' order by ', order_field, ' desc ');
set sTemp = '<(select min';
else
set sOrder = concat(' order by ', order_field, ' asc ');
set sTemp = '>(select max';
end if;
if currpage = 1 then
if sCondition <> '' then
set sSql = concat('select ', columns, ' from ', tablename, ' where ');
set sSql = concat(sSql, sCondition, sOrder, ' limit ?');
else
set sSql = concat('select ', columns, ' from ', tablename, sOrder, ' limit ?');
end if;
else
if sCondition <> '' then
set sSql = concat('select ', columns, ' from ', tablename);
set sSql = concat(sSql, ' where ', sCondition, ' and ', Prima(最完善的虚拟主机管理系统)ry_field, sTemp);
set sSql = concat(sSql, '(', Prima(最完善的虚拟主机管理系统)ry_field, ')', ' from (select ');
set sSql = concat(sSql, ' ', Prima(最完善的虚拟主机管理系统)ry_field, ' from ', tablename, sOrder);
set sSql = concat(sSql, ' limit ', (currpage-1)*pagesize, ') as tabtemp)', sOrder);
set sSql = concat(sSql, ' limit ?');
else
set sSql = concat('select ', columns, ' from ', tablename);
set sSql = concat(sSql, ' where ', Prima(最完善的虚拟主机管理系统)ry_field, sTemp);
set sSql = concat(sSql, '(', Prima(最完善的虚拟主机管理系统)ry_field, ')', ' from (select ');
set sSql = concat(sSql, ' ', Prima(最完善的虚拟主机管理系统)ry_field, ' from ', tablename, sOrder);
set sSql = concat(sSql, ' limit ', (currpage-1)*pagesize, ') as tabtemp)', sOrder);
set sSql = concat(sSql, ' limit ?');
end if;
end if;
set @iPageSize = pagesize;
set @sQuery = sSql;
prepare stmt from @sQuery;
execute stmt using @iPageSize;
end;
$$
delimiter;
可以存储为数据库脚本,然后用命令导入:MySQL(和PHP搭配之最佳组合) -u root -p < pageResult.sql;调用:call prc_page_result(1, "*", "Tablename", "", "columnname", 1, "PKID", 25);本文来源于 WEB开发网 原文链接:http://www.cncms.com.cn/mysql/4347.htm
select * from tableName limit 0,10;查询出来的是前十条记录
select * from tableName limit 10,20;查询出来的是后十条条记录