下面是部分代码:
  public static void main(String[] args) {
    ///////////////////////////////////////////////连接到Student数据库
    String url = "jdbc:odbc:Student";                   
    try {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    
      Connection con = DriverManager.getConnection(url);
      DatabaseMetaData dma = con.getMetaData();         
      System.out.println("连接到 " + dma.getURL());
      System.out.println("Driver " + dma.getDriverName());
      System.out.println("Version " + dma.getDriverVersion());
      System.out.println("");
      Statement stmt = con.createStatement();           
      ResultSet rs = stmt.executeQuery("SELECT Sname FROM Student");      while (rs.next()) {
          String r = rs.getString("sage");            //问题就在这里,这行报错!
                                                      //不知道为什么
          String s = rs.getString("Sname");           //这行能正确输出数据库结果
          System.out.println( "   "+ s);
    }
    con.close();                                          }
    catch(Exception e) {
    System.out.println("数据库连接真的出错误了~郁闷!");
    }
  }
SQL如下:
create table Student(Sno char(8) not null,
                     Sname char(8),
     Sage char(8) );
为什么只有Sname能被接收,其余2个都不行呢?

解决方案 »

  1.   

    while (rs.next()) {
              String r = rs.getString("sage");            //问题就在这里,这行报错!
                                                          //不知道为什么
              String s = rs.getString("Sname");           //这行能正确输出数据库结果
              System.out.println( "   "+ s);
        }
    注意大小写("sage");???
      

  2.   

    因为你自己是这么写的"SELECT Sname FROM Student"