Java 如何获取ResultSet的整数值并将其分配给int变量?

Java 如何获取ResultSet的整数值并将其分配给int变量?,java,jdbc,Java,Jdbc,intbookID正在返回值0,它应该返回1。(表中的第一个id)请协助 public void ID(){ conn = ConnectDB(); String sql = "Select Book_ID From Student Biblio"; try { pst = conn.prepareStatement(sql); rs = pst.executeQuery(); if(rs.next()){ int

int
bookID
正在返回值
0
,它应该返回
1
。(表中的第一个id)请协助

public void ID(){

   conn = ConnectDB();

   String sql = "Select Book_ID From Student Biblio";
   try {
       pst = conn.prepareStatement(sql);
       rs = pst.executeQuery();

       if(rs.next()){
        int bookID = rs.getInt(1); //IDTable


       }

   } catch (SQLException ex) {
       Logger.getLogger(Student.class.getName()).log(Level.SEVERE, null, ex);
   }
}

不要尝试使用while循环并检查表中的行是否正确。

试试这可能会对您有所帮助

public void ID(){

   conn = ConnectDB();

   String sql = "Select Book_ID From Student Biblio";
   try {
       pst = conn.prepareStatement(sql);
       rs = pst.executeQuery();

       while(rs.next()){
        int bookID = rs.getInt("Book_ID"); //IDTable


       }

   } catch (SQLException ex) {
       Logger.getLogger(Student.class.getName()).log(Level.SEVERE, null, ex);
   }
}

请提供该表的CREATE语句。您没有对该表进行排序,也没有选择带有
Book_ID
1
的行,因此很可能您有不同的行。好的,我已经更改了代码int BookID1=rs.getInt(“Book_ID”);但是代码将值0赋予BookID1。当您在数据库上运行此SQL时,会得到什么结果?抱歉,兄弟,谢谢您的帮助,但我已经解决了它。感谢您对此的关注。好的,我已更改代码int BookID1=rs.getInt(“Book_ID”);但是代码将值0赋予BookID1并在while循环中使用,但是它将值0赋予BookID1,它应该将值1赋予。