public ArrayList<Message> searchMessages(String word) throws DaoException{
ArrayList<Message> messages = new ArrayList<>();
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
con = getConnection();
//String query = "SELECT * FROM messages WHERE text LIKE %?% order by date";
String query = "SELECT * FROM messages WHERE text LIKE '%?%'";
ps = con.prepareStatement(query);
ps.setString(1,word);
rs = ps.executeQuery();
while (rs.next()) {
int messageId = rs.getInt("messageId");
String text = rs.getString("text");
String date = rs.getString("date");
int memberId2 = rs.getInt("memberId");
Message m = new Message(messageId,text,date,memberId2);
messages.add(m);
//Company c = new Company(companyId, symbol, companyName, sharePrice, high, low);
//companies.add(c);
}
} catch (SQLException e) {
throw new DaoException("searchMessages(): " + e.getMessage());
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (con != null) {
freeConnection(con);
}
} catch (SQLException e) {
throw new DaoException("searchMessages(): " + e.getMessage());
}
}
return messages;
}
코드를 조금 설명하면됩니다. 메시지 테이블과 해당 텍스트 필드가 제공되는 항목을 검색하기 만합니다. 준비된 명령문을 사용하여 그 쿼리에 그리고 난 그것이 조금에서 작동하지 않는 이유는이 오류java를 사용하여 SQL 쿼리에 삽입 할 때 오류가 발생합니다.
oow_package.DaoException: searchMessages(): Parameter index out of range (1 > number of parameters, which is 0).
없음 아이디어를 제공합니다 공급 어떤 문자열 문제 it.No를 실행합니다. 어떤 도움을 주시면 감사하겠습니다.
정답을 발견하면 그 옆에있는 시세표를 확인하여 대답을 대답 한 것으로 표시하십시오. – Alfabravo