Topic: 请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了.

  Print this page

1.请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. Copy to clipboard
Posted by: SQL20000
Posted on: 2003-08-04 17:33

JSP+MYSQL(所有连接环境均成功了就是分页我不会分呀分不出来我都急出病了帮帮我谢谢了..)

show.jsp 如下:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<%@ page contentType="text/html;charset=gb2312" language="java"%>
<%@ page contentType="text/html;charset=gb2312" language="java"%>
<%@page import="java.sql.*"%>
<%@include file="./include/config.inc.jsp"%>
<%@include file="./global.jsp"%>
<%@include file="./include/conn.jsp"%>
<%@include file="./CommonRoutine.inc"%>

<%//下面是数据库的操作....请帮帮我...帮我把分页做出来谢谢了.高手..//////

//Connection con=null;
try
{
java.sql.Statement statement=conn.createStatement();
rs=statement.executeQuery("select * from gqxx");

while (rs.next())
{
out.println("<table bgcolor=#ffffff border=0 cellpadding=1 cellspacing=1 height=80 width=750><tbody><tr><td height=20 width=75>");
out.println("<div align=center class=con><font color=#336699>【");
out.println(rs.getString("gqclass"));
out.println("】</font></div></td><td colspan=2 height=20 valign=bottom><b><font color=#003399>");
out.println(rs.getString("gqtitle"));
out.println("</font> </b><font color=#666666><font color=#000000>");
out.println(rs.getString("gqtime"));
out.println("</font></font></td></tr><tr><td height=20 valign=top width=75></td><td class=con colspan=2 height=20 <font color=#0066cc>[");
out.println(rs.getString("gqaddr"));
out.println("]</font><font color=#000000><font color=#000000>");
out.println(rs.getString("gqname"));
out.println("</font></font><font color=#000000></font></td></tr><tr><td height=40 width=75></td><td class=con colspan=2 height=40 valign=top><font color=#000000>");
out.println(rs.getString("gqbody"));
out.println("<font color=#336699>详细信息</font></font></td></tr></tbody></table>");
}
rs.close();
conn.close();
}
catch(Exception e)
{
out.println(e.getMessage());
}

%>

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
希望帮我把分页的部分加进来多谢了.........

2.Re:请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. [Re: SQL20000] Copy to clipboard
Posted by: jimmywin
Posted on: 2003-08-04 17:50

高手们都忙着答别得问题去了,我这个低手找了个以前写的,不过是ORACLE的,你参考一下吧:),至于你要的第几条,第几页可以自己根据每页显示的数目及总页数判断,相信没问题。另外个人建议还是写成bean好一些吧:)

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<body>
<p align="center">
<table border=1 width=80%>
<tr><td align="center">ID</td><td align="center">Name</td></tr>
</p>
<%
String driver = "oracle.jdbc.driver.OracleDriver"; //改成你自己的
String strUrl = "jdbc:oracle:thinAngry192.168.68.90:1521:oradb";//改成你自己的

Class.forName(driver);
Connection conn = DriverManager.getConnection(strUrl, "scott", "tiger");

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select countStart from emp");
rs.next();

String strpage = request.getParameter("page");//页号
int sumpage;//总页数
int intpage;//页号
int pagerow = 10;//每页显示行数
int n;//光标所在行
if (strpage==null) strpage="1";
intpage = (Integer.valueOf(strpage)).intValue();
//得到总页数
//if ((Integer.valueOf(rs.getString(1))).intValue())%pagerow ==0)
//sumpage = ((Integer.valueOf(rs.getString(1))).intValue())/pagerow;
//else
sumpage = ((Integer.valueOf(rs.getString(1))).intValue())/pagerow + 1;
n = (intpage - 1)*pagerow + 1;
rs = stmt.executeQuery("select * from emp");
for (int j=0;j<n-1;j++)
rs.next();
%>
<%
int i = 0;
//显示记录
while(rs.next()&& i++ < pagerow)
{
out.println("<tr><td width=20% align='center'>" + rs.getString(1) +
"</td><td align='center'>" + rs.getString(2)+"</td></tr>");
n++;

}

rs.close();
stmt.close();
conn.close();
%>
</table>
<br>
<a href="../query.jsp?page=<%if(intpage>1){out.print(intpage-1);}
else{out.print(intpage);}%>" >上一页</a>
<a href="../query.jsp?page=<%if(intpage<sumpage){out.print(intpage+1);}
else{out.print(intpage);}%>" >下一页</a>
</body>
</html>
</body>
</html>

3.Re:请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. [Re: SQL20000] Copy to clipboard
Posted by: dwju
Posted on: 2003-08-04 18:00

<%@ page contentType="text/html; charset=GBK"
import="java.sql.*"
%>

<%
String theType = request.getParameter("setType");
String theStr = "产品展示";
if(theType.equals("zzcp")) theStr="最新产品";
if(theType.equals("cxcp")) theStr="促销产品";
if(theType.equals("rxcp")) theStr="热销产品";
%>
<jsp:useBean id="bean" scope="page" class="com.DBConnection"/>
<%
int rowCount;
int intPage = 1;
int pageCount =1;
if(bean.dbConnection())
{
  /********************************************************
  *这里根据前面传来不同的值,来判断SQL语句
  *然后再执行查询,计算总行数和总的页数
  ********************************************************/
  String query = "select spbm,spmc,spxh,jjsx,lsdj from kc_spzl";
  ResultSet resultset = bean.executeQuery(query);

  resultset.last();
  rowCount = resultset.getRow();
  intPage = 1;
  //转化接收到的页面信息
  String strPage = request.getParameter("page");
  if(strPage==null)
  {
    intPage=1;
  }
  else
  {
    intPage = java.lang.Integer.parseInt(strPage);
    if(intPage<1) intPage=1;
  }

  int pageSize = 12;

  pageCount = 0;
  pageCount = rowCount / pageSize;

  if(intPage>pageCount) intPage=pageCount;
  int j=(intPage-1)*pageSize+1;
  
%>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <link rel="stylesheet" href="css\css.css" type="text/css">
  </head>

  <body bgcolor="#FFFFFF" text="#000000" scroll=no>
    <table width=620 border="0" cellspacing="0" cellpadding="0" bgcolor="#E1E1E1" class="frmBox" align="center">
      <tr>
      <td bgcolor="#003399" height="20"></td>
      </tr>
      <tr>
      <td bgcolor="#999999" align=center>
        <table width="100%" border="0" cellspacing="0" cellpadding="1">
        <tr>
        <td rowspan="2" align="center" width="16%"><img src="file:///F|/Information/Information/img/001.gif" width="32" height="32"></td>
        <td width="84%"><font color="#FFFFFF" size="+1"><b>产品展示</b></font></td>
        </tr>
        <tr>
        <td width="84%"><font color="#FFFFFF">-------<%out.println(theStr);%>

        </font></td>
        </tr>
        </table>
      </td>
      </tr>
      <tr bgcolor="#E1E1E1" height=20><td></td></tr>
      <tr><td align="center">
      <table width=615>
        <tr>
      <td align="left"> </td>
        </tr>
      </table>

<table width=615 border="0" cellspacing="1" cellpadding="0" style="border:2 inset;line-height:3.0" bgcolor="#CCCCCC" >
   <tr bgcolor="#E1E1E1">
       <td width=10% class="ed_btnStyle"><Strong>药品编号</strong></td>
       <td width=25% class="ed_btnStyle"><Strong>药品名称</strong></td>
       <td width=10% class="ed_btnStyle"><Strong>商品型号</strong></td>
       <td width=15% class="ed_btnStyle"><Strong>商品规格</strong></td>
       <td width=20% class="ed_btnStyle"><Strong>零售单价</strong></td>
       <td width=20% class="ed_btnStyle"><Strong>详细信息</strong></td>
      </tr>
<%
/***********************************************************
*利用前面求出的pageCount来为查询叶面分页
* 注意,后面翻页的时候,注意传递不同的查询类型值
***********************************************************/
  int i=0;
  resultset.absolute(j);
  while(i<pageSize && !resultset.isAfterLast())
  {
    String changeSpbm=resultset.getString("spbm");
%>
<tr bgcolor="#FFFFFF">
<td width=5%><%=resultset.getString("spbm")%></td>
<td width=30%><%=resultset.getString("spmc")%></td>
<td width=10%><%=resultset.getString("spxh")%></td>
<td width=15%><%=resultset.getString("jjsx")%></td>
<td width=20%><%=resultset.getString("lsdj")%></td>
<td width=20% align="center"><a href="list.jsp?changeValue=<%=changeSpbm%>">商品详细信息</a> </td>
</tr>
<%
    resultset.next();
    i=i+1;
  }
}
%>
</table>
   <table width=100%>
     <tr>
      <td width="30%">
        第<%=intPage%>页/共<%=pageCount%>页
      </td>
      <td width="70%" align="right">
        <%if(intPage!=1){%>
        <a href="CPZS.jsp?page=1&setType=<%=theType%>">首页</a>
        <%
        }
        else
        {
          out.print("首页");
        }%>
        <%if(intPage>1){%>
        <a href="CPZS.jsp?page=<%=intPage-1%>&setType=<%=theType%>">上一页</a>
        <%
        }
        else
        {
          out.print("上一页");
        }%>
        <%if(intPage < pageCount){%>
        <a href="CPZS.jsp?page=<%=intPage+1%>&setType=<%=theType%>">下一页</a>
        <%
        }
        else
        {
          out.print("下一页");
        }%>
        <%if(intPage!=pageCount){%>
        <a href="CPZS.jsp?page=<%=pageCount%>&setType=<%=theType%>">尾页</a>
        <%
        }
        else
        {
          out.print("尾页");
        }%>
      </td>
    </tr>
   </table>
</td>
</tr>
    </table>
  </body>
</html>

这个是我刚刚做的,应该可以的,
不过我定义Statement的时候好象定义为非只读的不可以
一定要定义成只读的才可以分页,你看看你定义是否是那样的!

4.Re:请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. [Re: SQL20000] Copy to clipboard
Posted by: SQL20000
Posted on: 2003-08-04 18:02

我没太看明白呀.

我的数据库是MYSQL的帮我写出来好吗/

5.Re:请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. [Re: SQL20000] Copy to clipboard
Posted by: dwju
Posted on: 2003-08-04 18:18

//Connection con=null;
try
{
java.sql.Statement statement=conn.createStatement();
rs=statement.executeQuery("select * from gqxx");

你定义为
statement = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);

然后打开resultset以后,用
last()方法
然后用getRow()方法取得总行数
然后…………你就会了吧

6.Re:请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. [Re: SQL20000] Copy to clipboard
Posted by: SQL20000
Posted on: 2003-08-04 21:01

我还是不会呀你给我全写出来吧...
我是太菜了
帮帮我吧给我全写出来吧.

7.Re:请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. [Re: SQL20000] Copy to clipboard
Posted by: SQL20000
Posted on: 2003-08-05 07:55

你哪里面调用了一个JAVABEAN
我这没有你调用的CLASS文件呀.

8.Re:请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. [Re: SQL20000] Copy to clipboard
Posted by: dwju
Posted on: 2003-08-05 11:21

我水平也很差啊,555……我的哪个BEAN一个功能是连接数据库,返回Boolean的值,另外一个打开数据库记录,返回ResultSet,你把ResultSet传回到JSP页面,就可以了,唉!!!
不好意思啊,水平有限,嘿嘿

9.Re:请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. [Re: SQL20000] Copy to clipboard
Posted by: SQL20000
Posted on: 2003-08-05 14:27

谢了..
我没用BEAN.

给他干出来了....

10.Re:请高手们帮帮我把我的代码写完好吗?? 我想分页已经一周了我真是分不出来了. [Re: SQL20000] Copy to clipboard
Posted by: dwju
Posted on: 2003-08-05 17:11

恭喜恭喜!!!呵呵


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923