从抛出异常看,应该是取不到值,或者是null值转换时抛出异常,检查一下取值和值的转换。

解决方案 »

  1.   

    可能是下一具有问题;
    如果数据库中的数据有不是字符型的,就会出问题
    out.println(rs.getString(2)+".<br>");
      

  2.   

    jsp都会编译成servlet,你看看servlet的代码,是否可以找到是哪里出现了null
      

  3.   

    <%@page contentType="text/html;charset=gb2312"%>
    <%@page import="java.sql.*" %>
    <html>
    <head><title>JavaBeans</title></head>
    <body topmargin="50">
    <jsp:useBean id="sqlconn" class="hero.jdbcBean"/>
    <font size="2" COLOR="black">
    <%
    String sql="select * from t_user";
    ResultSet rs=sqlconn.executeQuery(sql);
    while(rs.next()){
             out.println(rs.getString(1)+".<br>");
    out.println(rs.getString(2)+".<br>");
    }
    sqlconn.close();
    %>
    </font>
    </body>
    </html>如果不行,你用System.out.println("aaaaaaaa") ;一步步跟踪!
      

  4.   

    getString(2)是没有问题的,我用的jsp直接连接也是这么写的,没问题。也就是说,下列语句运行正常:<%@ page contentType="text/html;charset=gb2312"%>   
    <%@ page import="java.sql.*"%> 
    <html>   
    <head>
    <style>
    td {font-size:12px; line-height: 12pt}
    </style>
    </head>
    <body topmargin=50>
    <%
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.1.11:1433;DatabaseName=hero","jsp","aaa");
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);   
    String sql="select * from t_user";
    ResultSet rs=stmt.executeQuery(sql);
    while(rs.next()) {
    out.println(rs.getString(2));
    }
    rs.close();   
    stmt.close();   
    conn.close();
    %>   
    </body>   
    </html>所以才着急没办法的。我觉得好象是构造函数没有执行,但写的简单bean例子里构造函数是会执行的,和普通class一样。
      

  5.   

    this question is very intresting and worth thinking !
    please pay much more attion!
      

  6.   

    to qxjavajava(射手座):
    不太会动态跟踪。只能out.println(sql);等。我是用notepad写,在tomcat下运行,没有IDE环境。
      

  7.   

    试过了,改为给access连接也有错,一样的错,关注
      

  8.   

    你仔细看看你的构造函数在哪里???请遵循最基本的JAVA编程规范,这对每个人都有好处,包括别人阅读你的代码时.(请将类名的第一字母大写)
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  9.   

    根据你的程序片来看,一定是你的Bean没有初始化,请保证你的Bean中有如下内容
    //构造函数
     public JdbcBean() throws SQLException{
      try{
    Class.forName(sDBDriver);
    conn=DriverManager.getConnection(connStr,username,password);
    stmt=conn.createStatement();
      }
      catch(ClassNotFoundException e){
      System.err.println("There is not JDBC driver!");
      }
      }
    问题可能出在这里:
    public ResultSet executeQuery(String sqlStatement){
      rs=null;
      try{
      rs=stmt.executeQuery(sqlStatement);//error!!!!
      }
      catch(SQLException ex){
      System.err.println("SQLRun:"+ex.getMessage());
      }
      return rs;
      }stmt可能是null值.返回的rs是null,你可在
    while(rs.next()){前if(rs==null)判断一下
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  10.   

    问题解决了,就是上面的bean的构造函数的问题,有个小错误,能看出来吗?
    我已正确运行了,谢谢大家的关注。