折腾N天了,搞不定,请高手赐教~!谢谢~!我用的是C#,代码请用C#写,VB,的看不太懂,谢谢了~!对数据库排序后如何选取其中连续的一段?
如何实在分面显示?
谢谢~!@

解决方案 »

  1.   

    排序用order by就可以吧……
      

  2.   

    用控件GridView
    按照向导设置就行了,很容易的。
      

  3.   

    WITH OrdersByOrderIDASC AS 
     (
         SELECT OrderID, 
             CustomerID, 
            OrderDate, 
            ROW_NUMBER() OVER(ORDER BY orderID ASC) AS 字段编号
        FROM dbo.Orders WITH(NOLOCK)
    )SELECT * FROM OrdersByOrderIDASC WITH(NOLOCK) WHERE 字段编号BETWEEN 100 AND 110
      

  4.   


    --分页存储过程,在C# 中调用 传入相应的参数 就可以取指定页和大小的数据了
    Create PROCEDURE [dbo].[Pagination](           
                    @PageSize   INT, --每页的记录条数
                      @PageNumber INT, --当前页面
                      @QuerySql   VARCHAR(8000),--部分查询字符串,如* From Test order by id desc
                    @KeyField   VARCHAR(500))--一般用主键
    AS
      BEGIN
    if @PageNumber is null or @PageNumber<1
    Begin
    Set @PageNumber=1
    End
        DECLARE  @SqlTable  AS VARCHAR(8000)
        DECLARE  @SqlText  AS VARCHAR(8000)
        SET @SqlTable =N'Select Top ' + CAST(@PageNumber * @PageSize AS VARCHAR(30)) + ' ' + @QuerySql
        SET @SqlText = N'Select Top ' + CAST(@PageSize AS VARCHAR(30)) + ' * From ' + '(' + @SqlTable + ') As TembTbA ' + 'Where ' + @KeyField + ' Not In (Select Top ' + CAST((@PageNumber - 1) * @PageSize AS VARCHAR(30)) + ' ' + @KeyField + ' From ' + '(' + @SqlTable + ') AS TempTbB)'
      Print @SqlText   
      EXEC( @SqlText)
      END
      

  5.   

    通过sql获取一段数据或通过dataview.RowFilter获取,gridview排序
    SELECT *
    FROM (SELECT ROW_NUMBER() OVER(ORDER BY score DESC, name) AS rownum, 
            name,score
          FROM Tb) AS D
    WHERE rownum BETWEEN 4 AND 6
    ORDER BY score DESC, name

    create procedure procPage @startIndex int,@endIndex int,@sort varchar(50)='asc'
    as
    if @sort='asc'
    begin
    with pageTamp as(
     select row_number() over(order by id asc) as row,* from dbo.Tb)
     select * from Tb where row between @startIndex and @endIndex
    end
    else
    begin
    with pageTamp as(
     select row_number() over(order by id desc) as row,* from dbo.Tb)
     select * from Tb where row between @startIndex and @endIndex
    end