当前位置:编程学习 > C#/ASP.NET >>

ASP.NET分页

大家好!!
我是一个刚刚开始学习.NET的菜鸟,最近有一个问题想请教一下:
1.在ASP.NET中前台如何利用数据库进行分页!!是前台的分页.
--------------------编程问答-------------------- 写存储过程。 --------------------编程问答-------------------- 能给详细说说吗  --------------------编程问答--------------------   学了  SQL  就好说.   你在查询的时候不是可以有页数乘以页码来达到分页的效果的...

  直接在工具里的话,你就用 DATAGRID 来限制行数咯..

  有空发代码给你

  关于  SQL 的查询语句   select top = 页数*页码 from 表名 where 条件.... --------------------编程问答-------------------- select top(页大小) * from 表名 where Key(主键)in (select top(页大小*页码) * from   where 条件  order by Key desc) order by Key  --------------------编程问答-------------------- http://blog.csdn.net/sq_zhuyi/archive/2007/07/13/1687954.aspx
http://blog.csdn.net/sq_zhuyi/archive/2008/04/28/2339553.aspx --------------------编程问答--------------------

/*Author:Jacky
*Date:2008-3-9
*Description:Use to control pages
*/
alter  PROC TurningPage
   @qCols varchar(200),                --需要查询的列
    @qTable       varchar(200),       --需要查询的表 (包含where也行)
    @pKey         varchar (20),       --主键
    @numPerPage   int,                 --每页的记录数
    @pageNO       int                   --要显示的页码, 从1开始
AS
set nocount on
BEGIN
    DECLARE @sqlText AS varchar(1000)
    DECLARE @sqlTable AS varchar(1000)
    SET @sqlTable = 'SELECT TOP ' + CAST((@pageNO+1)  * @numPerPage AS varchar(30)) + ' ' + @qCols +' from '+ @qTable 
    SET @sqlText = 'SELECT TOP ' + CAST(@numPerPage AS varchar(30)) + ' * ' + 
        'FROM (' + @sqlTable + ') tableA  WHERE ' + @pKey + ' NOT IN(SELECT TOP ' +
        CAST(@pageNO * @numPerPage AS varchar(30)) + ' ' + @pKey + 
        ' FROM (' + @sqlTable + ') tableB)'
  EXEC (@sqlText)
 print(@sqltext)
END


exec dbo.TurningPage '*','emp','ID',3,0


FYI

我自己写的存储过程翻页,供楼主参考~

good luck --------------------编程问答-------------------- 如果想用控件的话,可以到网上找找那个aspnetpager控件,各个方面都很不错。 --------------------编程问答-------------------- 非常感谢!! --------------------编程问答-------------------- AspnetPager控件+存储过程 --------------------编程问答-------------------- lz要干嘛? --------------------编程问答-------------------- CREATE  PROCEDURE  GetData

@PageIndex  int,
@PageSize  int,
@order  varchar(24),  --排序字段
@method  varchar(8),  --排序方式
@where  varchar(200),  --条件语句
@RecordCount  int  output,
@PageCount  int  output

AS

declare  @methodd  varchar(8)

if  @method = 'asc'
  set  @methodd = 'desc'
else if  @method = 'desc'
  set  @methodd = 'asc'

SELECT  @RecordCount=count(*)  FROM  [table]  where col1  like +@where

SET @PageCount = CEILING(@RecordCount * 1.0 / @PageSize) 

DECLARE  @SQLSTR  NVARCHAR(300)

IF  @PageIndex = 0  OR  @PageCount <= 1

         SET  @SQLSTR ='SELECT TOP '+STR( @PageSize )+

' *  FROM  [table]  where  col1 like '+@where+'  order  by  '+@order+'  '+@method

ELSE IF  @PageIndex = @PageCount - 1 
  SET @SQLSTR ='SELECT TOP '+STR( @RecordCount - @PageSize * @PageIndex )

+' *  FROM   [table]  where  col1 like  '+@where+'  order by  '+@order+'  '+@method

ELSE
  SET  @SQLSTR ='SELECT TOP  '+STR( @PageSize )+'  *  FROM  ( SELECT TOP '

+STR( @RecordCount - @PageSize * @PageIndex )+'   *   FROM   [table]  where  col1  like  '

+@where+'  ORDER  BY  '+@order+'  '+@methodd+' )  nTable  order  by  '+@order+'  '+@method

EXEC (@SQLSTR)

GO
--------------------编程问答-------------------- 我也想知道,正在找這方面的資料~~~~~
补充:.NET技术 ,  .NET Framework
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,