关于查询结果的显示问题

原创 2007年09月26日 11:57:00

这两天的工作是项目中"综合模块"的系统日志部分,内容包括查询和显示,其实都不算太难,无非就是查询+分页。但偏偏 就遇到了一个问题 ,令我困扰不已。现将问题叙述如下:

页面分为两部分,上部分为查询输入,下部分为数据显示。

在未输入查询条件前,页面下部分显示的是所有数据(当然也是分页)。

当查得所需数据时,由于数据量过大,也需分页显示。

比如查询结果分为两页显示,在点击显示下一页内容后,本应该是跳转至查询所得结果的第二页,但是问题却出现了,系统是跳转至了未查询数据的第二页!!!!

代码如下:

< form action = " xtrz.jsp "  method = " post " >
      
< table width = " 500 "  align = " center "  cellpadding = " 0 "  cellspacing = " 1 "   class = " table " >
      
< tr  class = " upTd " >
        
< td height = " 25 "  colspan = " 4 "  align = " center " > 系统日志 </ td >
      
</ tr >
      
< tr >   
        
< td align = " center " > 开始时间 </ td >
        
< td align = " center " >< input type = " text "  name = " starttime "  value = ' <c:out value="<%=request.getParameter("starttime")%>"/> '   /></ td >
        
< td align = " center " > 结束时间 </ td >
        
< td align = " center " >< input type = " text "  name = " stoptime "  value = ' <c:out value="<%=request.getParameter("stoptime")%>"/> '   /></ td >
      
</ tr >
      
< tr >
        
< td height = " 25 "  colspan = " 4 "  align = " center " >
          
< input type = " submit "  name = " query "  value = " 查询 " >& nbsp; & nbsp; & nbsp; & nbsp;
          
< input type = " reset "  name = " reset "  value = " 重置 " ></ td >
      
</ tr >
</ table >
</ form >
< br  />  
 
< table width = " 500 "  align = " center "  cellpadding = " 0 "  cellspacing = " 1 "   class = " table_B " >
  
< tr  class = " upTd " >
    
< td height = " 22 "  align = " center " > 级别 </ td >
    
< td align = " center " > 时间 </ td >
    
< td align = " center " > 模块 </ td >
    
< td align = " center " > 操作 </ td >
  
</ tr >  
  
<%
  Connection conn
= Database.getConnection();
  
int  perpg = 15 // 每页显示条数
   int  pg = 1 ;   // 当前页数记录
   int  count = 0 ;   // 取得数据数目
   int  count2 = 0 ;   // 记录条数
   int  pagenum;   // 总页数
  String pgsql = "" ;
  String sql
= "" ;
  String status
= "" ;   // 查询条件

  
if (request.getParameter( " starttime " ) != null   &&   ! request.getParameter( " starttime " ).equals( "" )) ... {
        status
= status + "  and logdate > cast(' " + request.getParameter( " starttime " ) + " ' as datetime) " ;
  }

  
if (request.getParameter( " stoptime " ) != null   &&   ! request.getParameter( " stoptime " ).equals( "" )) ... {
        status
= status + "  and  logdate < cast(' " + request.getParameter( " stoptime " ) + " ' as datetime) " ;
  }

 
  pgsql
= " select count(*) as num from TB_LOG4J where priority = 'info'  " + status;  
  
// System.out.println(pgsql);
  
  ResultSet res
= Database.SQLQuery(conn,pgsql);
  
if (res.next()) ... {   // 查得数据条数
    count = res.getInt( " num " );
    count2
= count;
  }

  res.close(); 
  
  
for (pagenum = 0 ;count > 0 ;pagenum ++ ) ... {   // 分页
     count = count - perpg;
  }

  
  
if  (request.getParameter( " page " ) != null   &&   ! request.getParameter( " page " ).equals( "" )) ... {
      pg
= Integer.parseInt(request.getParameter( " page " ));
    
if  (pg > pagenum) ... {
        pg
= pagenum;
    }

    
else   if (pg <= 1 ) ... {
        pg
= 1 ;
    }

  }
 
  sql 
=   " select top 15 * from TB_LOG4J where logdate not in (select top  " + (pg - 1 ) * perpg + "  logdate from TB_LOG4J where priority = 'info'  " + status + "  order by logdate desc) and priority='info'  " + status + "  order by logdate desc " // sql server
  
// System.out.println(sql);
  res = Database.SQLQuery(conn,sql);
  
  
while  (res.next()) ... { %>
   
< tr >
      
< td height = " 22 "  align = " center " ><%= res.getString( " priority " ) %></ td >
    
< td align = " center " ><%= res.getString( " logdate " ) %></ td >
    
< td align = " center " ><%= res.getString( " class " ) %></ td >
    
< td align = " center " ><%= res.getString( " msg " ) %></ td >
  
</ tr >
  
<% }

    res.close();
    conn.close();
  
%>
 
</ table >
 
< table width = " 500 "  border = " 0 "  align = " center "  cellpadding = " 0 "  cellspacing = " 1 " >
    
< tr >
      
< td >
    
<%   if  (pagenum > 1   &&  pg != 1 ... { %>< a href = " xtrz.jsp?page=1 &&status=<%=("status")%> " > 首页 </ a ><%  }   %>
    
<%   if  (pagenum > 1   &&  pg > 1 ... { %>< a href = " xtrz.jsp?page=<%=pg-1%>&&status=<%=("status")%> " > 前一页 </ a >   <%  }   %>
    
<%   if  (pagenum > 1   &&  pg < pagenum)  ... { %>< a href = " xtrz.jsp?page=<%=pg+1%>&&status=<%=("status")%> " > 下一页 </ a >   <%  }   %>
    
<%   if  (pagenum > 1   &&  pg != pagenum)  ... { %>< a href = " xtrz.jsp?page=<%=pagenum%>&&status=<%=("status")%> " > 尾页 </ a ><%  }   %>
      
      共
<%= count2 %> 条记录 & nbsp; /& nbsp; <%=  pagenum  %> 页,当前是 <%=  pg  %> </ td >
    
</ tr >
  
</ table >




说明:数据库系SQL server,语言为Jsp。

总结原因:1、页面传参方式错误,理由是status并未传至下一页
                    2、定义变量错误,原因不明

进度:尚未解决!!!

有关JAVA 显示SQL 查询结果的显示

 import java.awt.*;import javax.swing.*;public class test extends JFrame {private controls1 control;...
  • meteorlWJ
  • meteorlWJ
  • 2007年10月25日 19:36
  • 3066

sqlplus显示查询结果自动换行问题

今天做了个测试,中途发现有一列的显示总是自动换行 hr@ORCL> select sql_text,parse_calls,loads from v$sql where sql_text like ...
  • mercenarylin
  • mercenarylin
  • 2013年02月16日 14:49
  • 3966

oracle 查询结果横向union

比如: 我想要的效果是: brach cbbj cbbbf bbjs bbbf  怎么办呢? 举个例子: 在我做过的业务系统中,统计各机构的事件、船舶总数: 我先统...
  • Ideality_hunter
  • Ideality_hunter
  • 2017年09月04日 16:52
  • 181

如何在sql/plus中把select语句查询显示出来的结果中的显示字段长度缩小

在sql*plus中,如果select语句查询的某一字段很宽,可以使用哪个命令将该行的显示宽度设置为一个 我这边整理了三条设置语句,应该能满足所有相关问题了,若不然后期再添加。 问题图如下: 当我...
  • David96
  • David96
  • 2017年10月25日 20:12
  • 333

关于PHP读取sql server varchar数据丢失的问题

现象: 在使用PHP PDO读取SqlServer 的varchar 数据类型时数据丢失,如原有类型数据大小为356, 使用PDO读出数据大小为255 使用tsql 直接查询同样可查看数据大小为(2...
  • fg201041842103
  • fg201041842103
  • 2015年12月22日 22:58
  • 292

jsp+MySQL的查询结果分页显示[实例]

已验证可以执行的代码。 初学,谨作为个人学习记录。 请大家给出意见或建议。谢谢!    //驱动程序名,比较旧了,如果你用mysql5,自己改。  String driv...
  • sj1900
  • sj1900
  • 2010年10月18日 00:07
  • 7355

hibernate 查询结果的展现

我们使用hibernate(以下简称h)来管理数据库表的关联关系,基本的原理其实是很简单的,就是将数据库中表之间的关联转移到了实体bean的类之间,配置好了以后h就可以帮我们维持这种关联关系了。这的确...
  • walkingmanc
  • walkingmanc
  • 2012年05月30日 17:53
  • 4478

在SQL2005和2008查询结果中显示列名的一种方法

一、在使用SQL2005的过程中,发现通过设置可以将脚本的查询结果贴出从而显示列名。   打开SQL Server Management Studio ,点击菜单栏中[工具]——[选项],在选项对话框...
  • claro
  • claro
  • 2008年11月13日 17:31
  • 6909

hive查询如何显示查询的字段

实际查询中 hive >select id ,name from db_hive.student; 结果是这样的 11111 lisi 22222 wangwu 33333 zhaoxi11111...
  • wangxj_2017
  • wangxj_2017
  • 2017年10月01日 21:37
  • 202

html页面输入点击查询跳到查询结果页面

类似这样的: 解决办法: 在跳转url中加入参数,比如: tiao 然后在目标页面中获取,比如: var a = location.search.match(new RegExp("...
  • wangzhanzheng
  • wangzhanzheng
  • 2017年02月23日 16:08
  • 1117
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于查询结果的显示问题
举报原因:
原因补充:

(最多只允许输入30个字)