我太无助了,这到底是为什么?取出来的数据是十六进制的,请各位大侠帮忙!SOS!

andybaohui 2002-02-06 10:57:27
<%--
作者:何志强[hhzqq@21cn.com]
日期:2000-08-03
版本:1.0
功能:JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle
--%>

<%@ page contentType="text/html;charset=8859_1" %>

<%
//变量声明
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;

//设置一页显示的记录数
intPageSize = 2;

//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}

//装载JDBC驱动程序
java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

//设置数据库连接字符串
strCon = "jdbc:oracle:thin:@linux:1521:ora4cweb";

//连接数据库
sqlCon = java.sql.DriverManager.getConnection(strCon,"hzq","hzq");

//创建一个可以滚动的只读的SQL语句对象
sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);

//准备SQL语句
strSQL = "select name,age from test";

//执行SQL语句并获取结果集
sqlRst = sqlStmt.executeQuery(strSQL);

//获取记录总数
sqlRst.last();
intRowCount = sqlRst.getRow();

//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;

//调整待显示的页码
if(intPage>intPageCount) intPage = intPageCount;
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle</title>
</head>

<body>

<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>

<%
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize + 1);

//显示数据
i = 0;
while(i<intPageSize && !sqlRst.isAfterLast()){
%>
<tr>
<td><%=sqlRst.getString(1)%></td>
<td><%=sqlRst.getString(2)%></td>
</tr>
<%
sqlRst.next();
i++;
}
}
%>

</table>

第<%=intPage%>页 共<%=intPageCount%>页 <%if(intPage<intPageCount){%><a href="jdbc20-oracle.jsp?page=<%=intPage+1%>">下一页</a><%}%> <%if(intPage>1){%><a href="jdbc20-oracle.jsp?page=<%=intPage-1%>">上一页</a><%}%>

</body>
</html>

<%
//关闭结果集
sqlRst.close();

//关闭SQL语句对象
sqlStmt.close();

//关闭数据库
sqlCon.close();
%>
...全文
69 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
andybaohui 2002-02-07
我感动的快流泪了,谢谢各位指点!
回复
sharetop 2002-02-06

或是换新的驱动,这才是最好的方法:)

回复
sharetop 2002-02-06
不用jdbc2的东西,
//创建一个可以滚动的只读的SQL语句对象
sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
变成:
sqlStmt = sqlCon.createStatement();

即可,因为你用的驱动不支持jdbc2的可滚动记录集等操作。



回复
lly9900 2002-02-06
<%@ page contentType="text/html;charset=8859_1" %>

改为<%@ page contentType="text/html;" %>试试,这个script我在jb5连oralce测试过.

回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2002-02-06 10:57
社区公告
暂无公告