我在myeclispe中写了一段数据库访问的代码,没有任何异常, 例如:
ResultSet rs = null;
........但当我用 while(rs.next()){}时,循环里进不去,我在数据库中查是有数据的,这是为什么啊?
顺便问一下,在myeclispe中如何调试jsp啊?

解决方案 »

  1.   

    那可能是你的ResultSet从database中取数据时发生的Exception. 你最好把整段代码帖出来
      

  2.   

    先确认是否已经连接
    在确认print出来的sql是否正确
    在确认有没有将sql送入statement或者prepareStatement中
    在确认rs对象是否为空
      

  3.   

    很简单的一段代码啊:
    Connection cn = null;
    Statement sta = null;
    ResultSet rs = null;

    String username = "sa";
    String psw = "123";
    String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jdbctest";

    String sqlquery="select * from addressbook_table";
    Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );
     
    cn = DriverManager.getConnection(url,username,psw); 

    sta=cn.createStatement();
    rs=sta.executeQuery(sqlquery); 

    while(rs.next()){ };rs.close();
    sta.close();
    cn.close();
      

  4.   

    rs=sta.executeQuery(sqlquery); 
    //在这里打印看rs是否为空

    while(rs.next()){ };
    再看下有什么Exception 报出
      

  5.   

    这样当然不能执行了
    给你的程序加上catch 和 try 吧!
    在容易出现异常的地方。顺便问一下,在myeclispe中如何调试jsp啊?
    也可以使用调试java的方法,加断点。
    我以前使用过。
      

  6.   

    1. 检查看是否有Exception,如果有,根据Exception内容处理.
    2. 如果所有程序执行正常,看看你的表中有无数据,可能没有数据呢?:)
      

  7.   

    把你写的代码贴出来看看!!
    jsp调试看下面的文章:
    http://csdn.eyeah.cn/3116/1121/1124/274366783.html
      

  8.   

    public class Test {
        public static void main(String[] args) {
            Connection cn = null;
            Statement sta = null;
            ResultSet rs = null;        String username = "sa";
            String psw = "123";
            try {
                Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
                String url =
                        "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jdbctest";
                String sqlquery = "select * from addressbook_table";
                sta = cn.createStatement();
                rs = sta.executeQuery(sqlquery);
                while (rs.next()) {
                }
                ;
                rs.close();
                sta.close();
                cn.close();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();      
            } catch (SQLException ex) {
                ex.printStackTrace();      
            }
        }
    }
      

  9.   

    liukang520236(一天就是一日,一日就是一天!) 这样当然不能执行了
    给你的程序加上catch 和 try 吧!
    在容易出现异常的地方。
      

  10.   

    你while循环里什么都不干,怎么知道resultSet里没数据
    最起码在while循环里写个rs.getString("columnName");然后打印出来