在Java中迭代SQL结果

时间:2015-05-14 15:08:56

标签: java sql sql-server

我目前正在开发一个基于简单SQL数据库的项目。我需要做的是让最终用户进入他们的仓库,然后从他们从DataBase中提取卡车列表并一次展示一辆卡车,这样他们的用户就可以输入当前的里程数。我的仓库输入工作正常,我也可以从输入中检索卡车清单。我无法找到一种方法来一次呈现一个当前里程输入。以下是我到目前为止的代码:

public class PreventativeMaintenance {

public static void main(String[] args) throws Exception 
{
    Scanner kb = new Scanner (System.in);
    System.out.print("Warehouse? ");

    Class.forName("com.mysql.jdbc.Driver");
    Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");

    String warehouse = kb.next();

    String query = "SELECT * FROM `new_schema`.`trucks` WHERE `warehouse` = '" + warehouse + "'";

    Statement st = con.createStatement();


    ResultSet rs = st.executeQuery(query);
  }
}

我试图使用名为Truck的对象ArrayList,并从SQL Query构建对象。然而,我遇到了同样的问题,我现在无法找到一种方法一次呈现不同的卡车号码,因此用户可以输入他们当前的里程数。

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

    //once you get resultset rs after executing query
    while(rs.next()){  
        String truckName = rs.getString("<name of truck column>");
        setTruckMileage(truckName);
    }

    private void setTruckMileage(String truckName){  
        Scanner kb = new Scanner (System.in);
        System.out.print("Enter mileage for truck " + truckName +" : ");

        Integer mileage = kb.nextInt();

        //save mileage entered by user
    }