package com.yzw;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class test_1 { public static void main(String[] args) throws Exception {
     Class.forName("com.mysql.jdbc.Driver");
     Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
     Statement stmt = conn.createStatement();
     /*stmt.executeUpdate("insert into t_user values(null,'wenqi','888888')");*/
     ResultSet rs = stmt.executeQuery("select * from t_user");
     
     System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
     rs.next();
     rs.close();
     stmt.close();
     conn.close();
}}
运行报异常,不知道为什么。求解。JDBC感觉就是学不好,只有去硬记。

解决方案 »

  1.   

    System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
     rs.next();
     这个地方改下  while(rs.next)//先判断
       {
        System.out.println(rs.getString(1));   }
      

  2.   


    if (rs.next()) {
         System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
    }
      

  3.   

    楼主这样不行 好多容易抛出异常的地方 要多加几个try catch
    加载驱动 建立连接 获取结果集 包括后边 while(rs.next())这些最好都分别放在一个try catch里 即使有异常 可以即使找到准确的位置
    楼主可以加上try catch之后定位错误的位置 然后debugger解决
    无所谓什么难不难的 先理解这个程序然后一天写一遍 不几天就会写了 
      

  4.   

    楼主这样不行 好多容易抛出异常的地方 要多加几个try catch
    加载驱动 建立连接 获取结果集 包括后边 while(rs.next())这些最好都分别放在一个try catch里 即使有异常 可以即使找到准确的位置
    楼主可以加上try catch之后定位错误的位置 然后debugger解决
    无所谓什么难不难的 先理解这个程序然后一天写一遍 不几天就会写了 
      

  5.   


    package com.yzw;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;public class test_1 {public static void main(String[] args) throws Exception {
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
    Statement stmt = conn.createStatement();
    /*stmt.executeUpdate("insert into t_user values(null,'wenqi','888888')");*/
    ResultSet rs = stmt.executeQuery("select * from t_user");
      try {
    while (rs.next()) {
    System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)); }
    } catch (SQLException e) {
    e.printStackTrace();
    }rs.close();
    stmt.close();
    conn.close();
    }
      

  6.   

    rs.next();放在取值的上面
    当然得游标先往下移才能取值
      

  7.   

    楼主rs.next()与rs.close()放在一起很明显不行
    rs.next();游标向下一行 返回到结果集里
    楼主想要从结果集取出数据就得先rs.next();