string strSql = @"select top 20 * from T_Department where (ID not in ( select top (@PageSize*(@curPage-1)) ID from T_Department order by ID)) order by ID";
            SqlParameter[] pars = new SqlParameter[2];
            pars[0] = new SqlParameter("@curPage", curPage);
            pars[1] = new SqlParameter("@PageSize",PageSize);
            SqlDataReader dr=SqlHelper.ExcuteSQL_SqlDataReader(strSql,pars);如果将20替换为@PageSize 引号该怎么打啊?

解决方案 »

  1.   

    --参考;/*
    在TOP后面使用变量
    (爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)  2008-01-02  广东深圳)
    */--SQL SERVER 2005 的写法
    use adventureworks
    goDECLARE @Percentage int
    SET @Percentage = 1
    SELECT TOP (@Percentage) PERCENT
    Name
    FROM Production.Product
    ORDER BY Name/*
    Name
    ----------------------
    Adjustable Race
    All-Purpose Bike Stand
    AWC Logo Cap
    BB Ball Bearing
    Bearing Ball
    Bike Wash - Dissolver(6 行受影响)
    */-----------------------------------
    --SQL SERVER 2000 的写法
    create table a([id] [int])
    insert into a(id) values(1)
    insert into a(id) values(2)
    insert into a(id) values(3)
    insert into a(id) values(4)
    insert into a(id) values(5)declare @num as int
    declare @sql as varchar(2000)
    set @num = 2
    set @sql = 'select top ' + cast(@num as char) + ' * from a'
    exec(@sql)drop table a
    /*
    id          
    ----------- 
    1
    2
    */
      

  2.   

    string strSql = @"select top (@PageSize) * from T_Department where (ID not in ( select top (@PageSize*(@curPage-1)) ID from T_Department order by ID)) order by ID";
                SqlParameter[] pars = new SqlParameter[2];
                pars[0] = new SqlParameter("@curPage", curPage);
                pars[1] = new SqlParameter("@PageSize",PageSize);
                SqlDataReader dr=SqlHelper.ExcuteSQL_SqlDataReader(strSql,pars);
      

  3.   

    string strSql = @"select top (@PageSize) * from T_Department where (ID not in ( select top (@PageSize*(@curPage-1)) ID from T_Department order by ID)) order by ID";
                SqlParameter[] pars = new SqlParameter[2];
                pars[0] = new SqlParameter("@curPage", curPage);
                pars[1] = new SqlParameter("@PageSize",PageSize);
                SqlDataReader dr=SqlHelper.ExcuteSQL_SqlDataReader(strSql,pars);