此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【luorh1986】截止到2008-07-01 15:41:47的历史汇总数据(不包括此帖):
发帖数:6                  发帖分:120                
结贴数:3                  结贴分:60                 
未结数:3                  未结分:60                 
结贴率:50.00 %            结分率:50.00 %            
楼主加油

解决方案 »

  1.   

    你先把你的SQL语句在 查询分析器里执行下  看看结果是什么!!
      

  2.   


    create PROCEDURE [dbo].[up_custompage]
    @order_column_name varchar(100),
    @select_column_list varchar(3000),
    @select_table_list varchar(1000),
    @condition varchar(8000),
    @page_size int,
    @current_page int,
    @total1 int output 
    AS
    declare @temp1 varchar(3000),@temp2 nvarchar(3000),@page_total int,@last_page int
    set @temp2=N'select @total2=count(*) from ' + @select_table_list + ' where ' + @condition
    --print @temp2
    exec sp_executesql @temp2,N' @total2 int output ',@total1 output
    if @total1>0
    begin
    set @temp1= 'select Row,' + @select_column_list + ' from(select Row_Number() over (order by ' + @order_column_name +
    ') as Row,' + @select_column_list + ' from ' + @select_table_list + ')as Temp where Row>=' + cast(@page_size*(@current_page-1)+1  as  varchar(10)) + 
    ' and Row<=' + cast(@page_size*@current_page as  varchar(10))
    print @temp1
    exec(@temp1)
    select @total1 as totoal,@@RowCount
    end
    else return
      

  3.   

    rs设置为动态游标,可以设置第N条记录为开始记录,然后用if(rs.next()拿2次就可以了  
      

  4.   

    pstmt = con.prepareStatement(sql , ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    //判断是否有第4条记录
    .
    .
    .
    //如果有
    rs.absolute(4); //定位记录指针
    .
    .
    .
    if(rs.next());   //第5条记录
      

  5.   

    可以尝试用display标签来分页....
      

  6.   

    我想显示从第3条记录之后的2条记录 
    st = con.prepareStatement("select * from(select * from(select * from student order by sid) where rownum <=(3+2-1) order by rownum asc) where sid between 3 and (3+2-1)"); 
    rs = st.executeQuery(); 
    但使用getString(1)得不到数据!!!!既然在sqlplus里面能得到数据,应该问题不在SQL语句上, 看一下查询完生成表的数据是否和你调用的方法的列名一致
    或者可以尝试下下面的SQL语句
    SELECT * FROM (SELECT A.*,ROWNUM RN FROM(SELECT * FROM student ORDER BY sid)A WHERE ROWNUM<=(3+2) ORDER BY ROWNUM ASC)WHERE RN>3