各位大侠,我现在用的SQL2000里没有ROW_NUMBER这函数,下面的SQL语句应该怎么改可以在2000里实现同样的效果啊?帮帮忙,感激不尽!//  PKName 和 传入字段 多字段排序 {0} Schema, {1} schemaRowNumber, {2} OderClip0, {3} TableName, {4} WhereClip, {5} StartRowNumber, {6} EndRowNumber        public const string Sql_Paging = "SELECT {0} FROM( SELECT {1}, ROW_NUMBER() OVER ( {2} ) AS RowNumber FROM {3} {4})AS T1 WHERE T1.RowNumber >= {5} AND T1.RowNumber <= {6} {2}";

解决方案 »

  1.   

    最快的是identity(int,1,1),但是需要临时表
      

  2.   

    能否给段详细的SQL语句啊,我这个是封装在数据访问层的,想弄个通用的分页。
    SQL没下功夫,难受啊!
      

  3.   

    public const string Sql_Paging=什么啊?
      

  4.   

    方法1:
    适用于 SQL Server 2000/2005
    SELECT TOP 页大小 *
    FROM table1
    WHERE id NOT IN
              (
              SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
              )
    ORDER BY id方法2:
    适用于 SQL Server 2000/2005
    SELECT TOP 页大小 *
    FROM table1
    WHERE id >
              (
              SELECT ISNULL(MAX(id),0) 
              FROM 
                    (
                    SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
                    ) A
              )
    ORDER BY id方法3:
    适用于 SQL Server 2005
    SELECT TOP 页大小 * 
    FROM 
            (
            SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1
            ) A
    WHERE RowNumber > 页大小*(页数-1)说明,页大小:每页的行数;页数:第几页。使用时,请把“页大小”和“页大小*(页数-1)”替换成数字。谢谢剪刀了。