首先,感謝以前的幫助和建議。我只學習數據庫和MySQL,所以當我問這麼重要的新手型問題時,請耐心等待。如何在Java中使用用戶參數編寫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();
}
}
我也知道,這個代碼是完美到目前爲止感受到碼建議一個更多的對rofessional看代碼。 在此先感謝您的任何幫助和支持。
'而(result.next()){ 如果(result.getString( 「縮寫」)。等於(縮寫)){如果(myDate.compareTo (result.getDate(「agentDate」))== 0){'[WHERE子句](http://dev.mysql.com/doc/refman/4.1/en/select。html):這是數據庫首先要做的...... – ppeterka