http://www.csdn.net/expert/topic/670/670716.xml?temp=1.148623E-02例子改一下就可以了。
解决方案 »
- 文件路径名可以通过URL传参吗?
- SSH框架下怎么实现邮件群发??
- jdk版本不同是否会引起问题?
- JDBC 访问数据库出错地问题?
- 求教——如何将SQLServer中的数据在JSP中打印出来,导成excel也行
- 关于onblur问题
- 怎么用jxl生成一个excel文件(临时的),对它操作后输入到浏览器?
- JavaWeb高性能开发,新手求指导
- !对于记录量比较大的分页显示,如果为了提高分页效率,可以在数据库(oracle)中写存储过程来解决分页,如何写??(急等)
- 用jdbc连接my.mysql数据库措线这种错误?
- 向数据库中插入一个时间记录,要求从年精确到秒,什么格式?
- 请问一个sql语句的写法
然后在第二个jsp页面里面,用sql语句查询id为你刚才得到那个数的记录!
如:
select * from table where id=id1(id1就是刚才得到的参数)
<%
//变量声明
java.sql.Connection sqlCon; //数据库连接对象
java.sql.Statement sqlStmt; //SQL语句对象
java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;
int i,j,k; //设置一页显示的记录数
intPageSize = 5; //取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
} else{
//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1; }
//装载JDBC-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
strCon = "jdbc:odbc:Test_DB";
//连接数据库
sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");
//创建SQL语句对象
sqlStmt = sqlCon.createStatement();
//获取记录总数
strSQL = "select count(*) from guestbook";
sqlRst = sqlStmt.executeQuery(strSQL);
//执行SQL语句并取得结果集
sqlRst.next(); //记录集刚打开的时候,指针位于第一条记录之前
intRowCount = sqlRst.getInt(1);
sqlRst.close(); //关闭结果集
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码 if(intPage>intPageCount) intPage = intPageCount;
//设置获取数据SQL语句
strSQL = "select id,name,email,body from guestbook";
//执行SQL语句并取得结果集
sqlRst = sqlStmt.executeQuery(strSQL);
//将记录指针定位到待显示页的第一条记录上
i = (intPage-1) * intPageSize;
for(j=0;j<i;j++) sqlRst.next(); %>
<html>
<head>
<title>JSP数据库操作例程 - 数据分页显示 - JDBC-ODBC</title>
</head>
<body background="A1_01.jpg">
<p align=center>jdbc-odbc留言版</p>
<table border="1" cellspacing="0" cellpadding="0" width=600 align=center>
<%
//显示数据
i = 0;
while(i<intPageSize && sqlRst.next()){ %>
<tr>
<%
String id=sqlRst.getString("id");
%>
<td>姓名:<a href="mingxi.jsp?id=<%=id%>"><%=sqlRst.getString(2)%></a></td>
</tr>
<% i++; } %>
<tr>
<td align=center> 第<%=intPage%>页 共<%=intPageCount%>页
<%if(intPage<intPageCount){%>
<a href="nongye.jsp?page=<%=intPage+1%>">下一页</a>
<%
}
%>
<%if(intPage>1){%>
<a href="nongye.jsp?page=<%=intPage-1%>">上一页</a>
<%
}
%>
</td>
</tr>
</table>
<p> </p>
<table width="45%" border="1" align="center">
<tr>
<td width="51%">
<div align="center"><a href="tianjia.jsp">添加</a></div>
</td>
<td width="49%">退出</td>
</tr>
</table>
<p> </p>
</body>
</html>
<%
//关闭结果集
sqlRst.close();
//关闭SQL语句对象
sqlStmt.close();
//关闭数据库
sqlCon.close();
%>显示结果的jsp:<%@ page contentType="text/html;charset=gb2312"%>
<%
//变量声明
java.sql.Connection sqlCon; //数据库连接对象
java.sql.Statement sqlStmt; //SQL语句对象
java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;
int i,j,k; //设置一页显示的记录数 String id = (String)request.getParameter("id");intPageSize = 5; //取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
} else{
//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1; }
//装载JDBC-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
strCon = "jdbc:odbc:Test_DB";
//连接数据库
sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");
//创建SQL语句对象
sqlStmt = sqlCon.createStatement();
//获取记录总数
strSQL = "select count(*) from guestbook";
sqlRst = sqlStmt.executeQuery(strSQL);
//执行SQL语句并取得结果集
sqlRst.next(); //记录集刚打开的时候,指针位于第一条记录之前
intRowCount = sqlRst.getInt(1);
sqlRst.close(); //关闭结果集
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码 if(intPage>intPageCount) intPage = intPageCount;
//设置获取数据SQL语句
strSQL = "select * from guestbook where guestbook.id=id";
//执行SQL语句并取得结果集
sqlRst = sqlStmt.executeQuery(strSQL);
//将记录指针定位到待显示页的第一条记录上
i = (intPage-1) * intPageSize;
for(j=0;j<i;j++) sqlRst.next(); %>
<html>
<head>
<title>JSP数据库操作例程 - 数据分页显示 - JDBC-ODBC</title>
</head>
<body>
<p align=center>jdbc-odbc留言版</p>
<table border="1" cellspacing="0" cellpadding="0" width=600 align=center>
<%
//显示数据
i = 0;
while(i<intPageSize && sqlRst.next()){ %>
<tr>
<td>姓名:<%=sqlRst.getString(1)%></td>
<td>邮件:<%=sqlRst.getString(2)%></td>
</tr>
<tr>
<td colspan=2><%=sqlRst.getString(3)%></td>
</tr>
<% i++; } %>
<tr>
<td colspan=2 align=center>
第<%=intPage%>页 共<%=intPageCount%>页
<%if(intPage<intPageCount){%>
<a href="nongye.jsp?page=<%=intPage+1%>">下一页</a><%
}
%>
<%if(intPage>1){%>
<a href="nongye.jsp?page=<%=intPage-1%>">上一页</a><%
}
%>
</td>
</tr>
</table> </body>
</html>
<%
//关闭结果集
sqlRst.close();
//关闭SQL语句对象
sqlStmt.close();
//关闭数据库
sqlCon.close();
%>
String strSQL = "select 姓名,内容 from 表 where id = '" 接来的id "'";
执行sql语句得到rs后,直接打印
这一句有问题
这和"select * from guestbook"效果一样,所以是全部结果应该是
"select * from guestbook where guestbook.id="&request("id");
应该是
"select * from guestbook where guestbook.id=" + request.getparmeter("id");