话不多说...来求教了..
想寻觅MySql的分页存储过程以及在C# winform中的调用
第一次接触MySql 不要说我百度没有 谷歌没有 我查了 很多都有错
希望耐心指教
跪谢~
 

解决方案 »

  1.   

    http://download.csdn.net/source/1130193
    http://download.csdn.net/source/1130196
    看一下这两个吧,这是C#连接mysql的两种方法.存储过程没有现成的.没咋用过MYSQL,你可以找一个mssql的改一改就可以了.
      

  2.   

    连接MySQL要用MySQLConnection,不要用SqlConnection连接数据库。MySQL的存储过程分页网上有
      

  3.   

    一切和服务器操作都的类都要在以前连接SQlserver的基础上加上My或者是MySQL,我忘记了,记住要添加MySOL引用
      

  4.   

    use guestbook;
    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
      

  5.   

    呵呵,发现我楼上的更简洁
    select * from tableName limit 0,10;查询出来的是前十条记录
    select * from tableName limit 10,20;查询出来的是后十条条记录