运行过程中没有出现错误提示
只是输出的结果不对,相关程序如下:jvavbean为:
package student;
import java.sql.*;
public class conn {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:student";
Connection connect = null;
ResultSet rs = null;
public conn() {
try {
Class.forName(sDBDriver); 
}
catch(java.lang.ClassNotFoundException e) {
System.err.println( e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
try {
connect = DriverManager.getConnection(sConnStr); 
Statement stmt = connect.createStatement();
rs = stmt.executeQuery(sql);
            return rs;

catch(SQLException ex) { 
System.err.println(ex.getMessage());
return null;
}

}
}
conn_db.jsp源代码修改如下:<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="connDbBean" scope="page" class="student.conn"/>
<html>
<head>
<title>test db connection</title>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
  <table width="60%" border="1">
    <tr bgcolor="#CCCCFF"> 
      <td width="50%"> 
        <div align="center"><font color="#FF0033"><b>姓名</b></font></div>
      </td>
      <td width="25%"> 
        <div align="center"><font color="#FF0033"><b>性别</b></font></div>
      </td>
      <td width="25%"> 
        <div align="center"><font color="#FF0033"><b>分数</b></font></div>
      </td>
    </tr>
<%
ResultSet RS_result = connDbBean.executeQuery("select * from Table1");
String studentName="";
String studentSex="";
int studentScore=0;
if(RS_result!=null){
while(RS_result.next())
{
studentName=RS_result.getString("name");
studentSex=RS_result.getString("sex");
studentScore=RS_result.getInt("score");
%>
    <tr> 
      <td width="50%" bgcolor="#FFFFFF"> 
        <div align="center"><%=studentName%></div>
      </td>
      <td width="25%"> 
        <div align="center"><%=studentSex%></div>
      </td>
      <td width="25%"> 
        <div align="center"><%=studentScore%></div>
      </td>
    </tr>
<%
}
RS_result.close();
}
else
out.println("返回值为空");
%>
  </table>
</body>
</html>
经过http://localhost:8080/myjsp/JSP-08/conn_db.jsp进行访问,
浏览器没有提示错误,有页内容输出,只是并没有输出数据库中的任何值,
难道是数据库连接不上吗?可是我数据源设置也设了,javabean中的数据库连接
也应该没有错吧?数据库里有name sex score三个字段,而且都赋了值了呀
为什么会出现这样的情况呢,望多多指教,网页输出如下:
http://img309.photo.163.com/cdsheng1983/37996111/1030278556.jpg

解决方案 »

  1.   

    resultSet 返回为空了,好好检查一下
      

  2.   

    我觉得是你的JavaBean写的有问题
    你的JavaBean测试能运行吗
    catch(SQLException ex) { 
    System.err.println(ex.getMessage());
    return null;
    }

    看看你的log 异常信息是什么
    还有JavaBea有自己的规范最好这样写
    jvavbean为:
    package student;
    import java.sql.*;
    public class conn {
    public conn() {
                      String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";

    try {
    Class.forName(sDBDriver); 
    }
    catch(java.lang.ClassNotFoundException e) {
    System.err.println( e.getMessage());
    }
    }
    public ResultSet executeQuery(String sql) {
    String sConnStr = "jdbc:odbc:student";
    Connection connect = null;
    ResultSet rs = null;                try {

                        connect = DriverManager.getConnection(sConnStr); 
    Statement stmt = connect.createStatement();
    rs = stmt.executeQuery(sql);
                return rs;

    catch(SQLException ex) { 
    System.err.println(ex.getMessage());
    return null;
    }

    }
    }
    把这些属性写成局部变量
    因为JavaBean要对每个属性要有set/get 方法
      

  3.   

    回一楼的,我就是不知道为什么返回为空呀,所以才发上来问问的回二楼,照 你说的改了,结果还是一样,而且我的javabean编译都能通知的
    没有出现异常呀
    截图在http://img309.photo.163.com/cdsheng1983/37996111/1030278556.jpg
      

  4.   

    public ResultSet executeQuery(String sql) {
    try {
    connect = DriverManager.getConnection(sConnStr); 
    Statement stmt = connect.createStatement();
    rs = stmt.executeQuery(sql);
                return rs;

    catch(SQLException ex) { 
    // 在查看应用服务器下有没有输出这条语句的错误
    System.err.println(ex.getMessage());
    return null;
    }
      

  5.   

    这个可能是你没在没有配置web.xml和server.xml的原故吧!你在看看吧!
      

  6.   

    web.xml和server.xml还要怎么设置啊,
    不是安装了服务器就可以了吗?
    其它没有关系到数据库的程序都可以正确运行的啊