0
두 개의 타임 스탬프간에 레코드를 검색하는 SQL 문에 문제가 있습니다. 이건 그냥 내게 NullPointerException을주고있다. 그리고 나는 단지 구문 오류라고 생각한다. 나는 주변을 검색하고 있었고 나는 아무것도 찾을 수 없었다. 쿼리의 나머지SQL 문 구문 오류
public Vector getRecordByDate(Date datefrom, Date dateto){
Vector<String> records = new Vector<String>();
ResultSet results = null;
java.sql.Date sqlDatefrom = new java.sql.Date(datefrom.getTime());
java.sql.Date sqlDateto = new java.sql.Date(dateto.getTime());
try {
stmtGetRecordByDate.clearParameters();
stmtGetRecordByDate.setDate(1, sqlDatefrom);
stmtGetRecordByDate.setDate(2, sqlDateto);
results = stmtGetRecordByDate.executeQuery();
while (results.next()) {
int id = results.getInt(1);
String entry = results.getString(2);
records.add(entry);
}
} catch(SQLException sqle) {
sqle.printStackTrace();
}
return records;
}
과 문은 잘 작동 :
private static final String strGetRecordByDate =
"SELECT * FROM APP.MYTABLE " +
"WHERE MYDATE >= ?, AND MYDATE <= ? " +
"VALUES (?, ?)";
문을 작성 :
stmtGetRecordByDate = dbConnection.prepareStatement(strGetRecordByDate);
nullpointer 예외가 표시 stmtGetRecordByDate.clearParameters에()이 문입니다 그래서 나는 데이터베이스 자체가 문제가 있다는 것을 알고 있습니다.
어떤 제안이 좋을 것입니다. 감사합니다.
하아, 미안 해요, 길잃은 미안하지만, 코드에 잘못이 아니 었어. 둘 사이에 완벽하게 감사했습니다 – Ross
어떻게 VALUES를 사용할 수없는 경우 매개 변수를 사용할 수 있습니까? – Ross
@stroduces :'stmtGetRecordByDate.setDate' 호출은 값을 플레이스 홀더에 바인딩합니다. 'VALUES'는 보통 INSERT에서만 사용됩니다. –