<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<html>
<head>
<title>JSP + Oracle应用</title>
</head>
<body>
<%
// 解决提交时的中文乱码问题
request.setCharacterEncoding("GBK") ;
%>
<center>
<h2>雇员管理程序</h2><%!
public static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:MLDN" ;
public static final String DBUSER = "scott" ;
public static final String DBPASS = "tiger" ;
%>
<%
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
%>
<%
try{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
String sql = "SELECT empno,ename,job,hiredate,sal,comm FROM emp" ;
pstmt = conn.prepareStatement(sql) ;
rs = pstmt.executeQuery() ;
%>
<table border="1" width="80%">
<tr>
<td>雇员编号</td>
<td>雇员姓名</td>
<td>工作</td>
<td>雇佣日期</td>
<td>工资</td>
<td>奖金</td> </tr>
<%
while(rs.next()){
int empno = rs.getInt(1) ;
String ename = rs.getString(2) ;
String job = rs.getString(3) ;
java.util.Date hiredate = rs.getDate(4) ;
float sal = rs.getFloat(5) ;
float comm = rs.getFloat(6) ;
%>
<tr>
<td><%=empno%></td>
<td><%=ename%></td>
<td><%=job%></td>
<td><%=hiredate%></td>
<td><%=sal%></td>
<td><%=comm%></td>
</tr>
<%
}
%>
</table>
<%
}catch(Exception e){
%>
<h2>操作中出现了错误!</h2>
<%
}finally{
try{
conn.close() ;
}catch(Exception e){}
}
%>
</center>
</body>
</html>发现很奇怪,为什么table里面的数据没有一个显示,代码应该没问题,,弄了一晚上,不知道是哪里的原因。MyEclipse和tomcat的版本都是5.5

解决方案 »

  1.   

    最好把数据库操作写在javabean里,这样好维护,也好调试
    会不会数据库连接出错了,可以加点测试语句,在控制台输出,看看是哪里出错了
    比如在rs = pstmt.executeQuery() ;后面加System.out.println("查询是否成功"+rs.next());如果输出为true说明查询成功了,然后再检查是不是页面显示出错了,可以试着这么弄一下
    希望对你有帮助
      

  2.   

    我测试了一下,没问题。你检查一下orcale的驱动ojdbc14.jar是否添加,或者检查输出的类型是否和数据库中的类型一致。
      

  3.   


    连接数据库出问题的话应该有报错,catch块里没写东西,不知道是不是你的驱动写的有问题public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:MLDN"MLDN 不知道有问题没,我用的10g的 是ORCL    
      

  4.   

    OracleServiceORCL  这是我的,你看看你的数据库启动程序后缀是不是ORCL  默认是这个后缀....
      

  5.   

    如果没有连接上数据,就会报错!~
    <td><%=empno%></td>
    <td><%=ename%></td>
    <td><%=job%></td>
    <td><%=hiredate%></td>
    <td><%=sal%></td>
    <td><%=comm%></td>
    感觉应该把<%=comm% >后面空一格试试,
    有时跟你的一样,空了一格就行
      

  6.   

    楼主用的是什么工具做开发,myEclipse里面有异常信息吗?建议debug 一下,可以测试每个属性是否有值。