在这段代码中,我试图从数据库中获取结果集,但是当我执行rs.getRow()时,输出为零。一切似乎都是正确的。
打包申请;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
public class FlightsController {
private String from_airport;
private String to_airport;
private Date departure_date;
public void fillTable(ActionEvent event)
{
HomePageController homepage = new HomePageController();
from_airport=homepage.getFrom();
to_airport=homepage.getTo();
try
{
ResultSet rs;
Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl2","scott","root");
Statement st=con.createStatement();
String sql=" select * from routes";
rs=st.executeQuery(sql);
System.out.println(rs.getRow());
rs.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
在这段代码中,我试图从数据库中获取结果集,但是当我执行re.getRow()时,输出为零。一切似乎都是正确的。
出了什么问题? 请帮助
答案 0 :(得分:0)
在获得一行之前,您需要致电:
rs.next();
请参阅本教程:
https://docs.oracle.com/javase/tutorial/jdbc/basics/retrieving.html
有关如何使用ResultSet
的信息。
方法getRow()
给出当前行的编号,在您的代码中,您位于第一行之前。
参见:https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getRow()
希望这会有所帮助。