如何使用JDBC查看数据库中的特定行数

时间:2016-08-31 11:20:33

标签: java mysql jdbc

我正在做一个巴士预订项目 在此代码中,用户需要输入拾取和放置位置的详细信息,代码应显示覆盖这些位置的所有总线..我使用过

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();
    }

   }

1 个答案:

答案 0 :(得分:1)

使用Query对象,您可以获取您想要的特定记录

query.setFirstResult(10);
query.setMaxResults(5);

它会将记录从10返回到15.

从您想要的位置设置firstResult

你想要多少人设置maxResults