首先感谢大家之前的帮助和建议。我只学习数据库和 MySQL,所以当我问这么大的新手类型问题时,请多多包涵。
我正在输入 2 个参数,一个是字符串,另一个是日期。然后我想输出另一个值。该字符串是直截了当的,但我无法正确比较日期。如果日期和字符串匹配,那么这就是我要查找的记录
这是表格的副本
private String agentDetail = "CREATE TABLE AgentDetail ("
+ "idNo INT(64) NOT NULL AUTO_INCREMENT,"
+ "initials VARCHAR(2),"
+ "agentDate DATE,"
+ "agentCount INT(64), "
+ "PRIMARY KEY(idNo))";
问题是它总是带回所有日期,包括正确和不正确的结果
这是我目前正在使用的代码
protected void getAgentIdNo (Connection con, PreparedStatement preStatement,
ResultSet result, String initials, Date myDate) {
try {
preStatement = con.prepareStatement("SELECT * FROM AGENTDETAIL");
result = preStatement.executeQuery();
while (result.next()) {
if (result.getString("initials").equals(initials)){
if (myDate.compareTo(result.getDate("agentDate")) == 0){
System.out.println("The date and initials matched !!");
System.out.println("The id no is " + result.getint("idNo");
}
}
}
}
catch (SQLException ex) {
System.out.println("An error occured when reading from the data base");
ex.printStackTrace();
}
}
我也知道这段代码远非完美,所以建议使用更专业的代码。提前感谢您提供的所有帮助和支持。