日期:2014-05-18  浏览次数:20534 次

邹建帮忙:关于用C#调用你的分页存储过程,能给个例子吗?
用C#调用下面的存储过程,我总是会出现各种错误,给个调用的示例,谢谢了!


if       exists       (select       *       from       dbo.sysobjects       where       id       =       object_id(N '[dbo].[p_show] ')       and       OBJECTPROPERTY(id,       N 'IsProcedure ')       =       1)      
    drop       procedure       [dbo].[p_show]      
    GO      
       
    /*--实现分页的通用存储过程      
       
    显示指定表、视图、查询结果的第X页      
    对于表中主键或标识列的情况,直接从原表取数查询,其它情况使用临时表的方法      
    如果视图或查询结果中有主键,不推荐此方法      
    如果使用查询语句,而且查询语句使用了order       by,则查询语句必须包含top       语句      
       
    --邹建       2003.09(引用请保留此信息)--*/      
       
    /*--调用示例      
    exec       p_show       'select       *       from       jobs ',5,3      
       
    exec       p_show       'select       top       100       percent       *       from       地区资料       order       by       地区名称 ',5,3, '地区编号,地区名称,助记码 '      
    --*/      
    CREATE       Proc       p_show      
    @QueryStr       nvarchar(4000),   --表名、视图名、查询语句      
    @PageSize       int=10,   --每页的大小(行数)      
    @PageCurrent       int=1,   --要显示的页      
    @FdShow       nvarchar       (4000)= ' ',   --要显示的字段列表,如果查询结果不需要标识字段,需要指定此值,且不包含标识字段      
    @FdOrder       nvarchar       (1000)= ' '   --排序字段列表      
    as      
    set       nocount       on      
    declare       @FdName       nvarchar(250)   --表中的主键或表、临时表中的标识列名      
    ,@Id1       varchar(20),@Id2       varchar(20)   --开始和结束的记录号      
    ,@Obj_ID       int   --对象ID      
    --表中有复合主键的处理      
    declare       @strfd       nvarchar(2000)   --复合主键列表      
    ,@strjoin       nvarchar(4000)   --连接字段      
    ,@strwhere       nvarchar(2000)   --查询条件      
       
      &n