我正在做一个巴士预订项目 在此代码中,用户需要输入拾取和放置位置的详细信息,代码应显示覆盖这些位置的所有总线..我使用过
ResultSet rs= ps.executeQuery();
while(rs.next()) {
System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\t"+rs.getInt(5)+"\t"+rs.getInt(6));
}
但它显示的是第一行,而不是所有其他具有相同数据的行。我想要覆盖同一位置的所有总线的详细信息。所以大家请帮助我。
在我的数据库中有2条总线(sj和neeta)覆盖这些位置,因此它应显示所有这些位置的详细信息,但它只显示第一个总线详细信息,即sj而不是其他总线
我的代码如下。
static void Search(){
Scanner s= new Scanner(System.in);
System.out.println("enter the details : ");
System.out.println("FROM:");
String from=s.nextLine();
System.out.println("TO:");
String to=s.nextLine();
System.out.println("TYPE: \n 1 for AC\n2 for non AC");
String type=s.next();
try {
// step 1: load the driver
Class.forName("com.mysql.jdbc.Driver");
// step 3: prepare statement
try ( // step 2: create connection
Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/sparsh?characterEncoding=UTF-8&useSSL=false","root","soccerplayers12")) {
// step 3: prepare statement
PreparedStatement ps =
(PreparedStatement) con.prepareStatement("select * from busdetails where arrival=? and arrivaldest=? and type=? ");
ps.setString(1, from);
ps.setString(2, to);
ps.setString(3, type);
// step 4: execute query
ResultSet rs= ps.executeQuery();
while(rs.next()) {
System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\t"+rs.getInt(5)+"\t"+rs.getInt(6));
}
// close connection
}
}
catch(Exception e){
e.printStackTrace();
}
}
答案 0 :(得分:1)
使用Query对象,您可以获取您想要的特定记录
query.setFirstResult(10);
query.setMaxResults(5);
它会将记录从10返回到15.
从您想要的位置设置firstResult
。
你想要多少人设置maxResults