【发布时间】:2017-03-31 16:01:50
【问题描述】:
我创建了一个类来连接数据库并执行各种插入、删除、更改等操作...
包含一个数组以显示所有内容。在数据库中会自动创建一个 ID,所以我不输入它,但我仍然希望数组从每一列输出 ID。我的代码如下所示,如果我在 cJourneys 等之前插入 cID。我得到构造函数未定义。想弄清楚如何从数据库中访问 ID 以每次使用数组调用它..
public Car(String cLicenseIn, int cJourneysIn, String cUsernameIn, String cPasswordIn) {
cLicense = cLicenseIn;
cJourneys = cJourneysIn;
cUsername = cUsernameIn;
cPassword = cPasswordIn;
}
// Display all Vehicles
public ArrayList<Car> getAllCar() {
ArrayList<Car> AllCar = new ArrayList<Car>();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url + dbName, userName, password);
statement = conn.createStatement();
resultSet = statement.executeQuery("select * from eflow.Registration");
while (resultSet.next()) {
Car nextCar = new Car(resultSet.getString("cLicense"), resultSet.getInt("cJourneys"),
resultSet.getString("cUsername"), resultSet.getString("cPassword").toString());
AllCar.add(nextCar);
}
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return AllCar;
}
【问题讨论】:
-
添加另一个同样采用 ID 的构造函数怎么样?另外,
getString("cPassword").toString()的意义何在? -
@AndyTurner OP 说如果在
cLicense和cJourneys之间的new Car语句中添加了第5 个resultSet.getInt("cID")调用(“如果我在cJourneys 之前插入cID”),它抱怨Car上没有 5 参数构造函数。