SQLインジェクションを防ぐために、使用を避けようとしてWHERE Surname LIKE '"search_txt.getText()"'
います...ただし、aを使用するpreparedStatement
と?空白、言い換えると、テキストフィールドに正しい検索値が入力されてもSQLステートメントを実行できません...行の問題は何ですかpst1.setString(1, search_txt.getText()+"%");
private void SearchActionPerformed(java.awt.event.ActionEvent evt) {
try{
sql = "SELECT Title, Forename, Surname, Role FROM AcademicInfo WHERE Surname LIKE ? OR Forename LIKE ?";
PreparedStatement pst1 = conn.prepareStatement(sql);
ResultSet rs2 = pst1.executeQuery();
if (rs2.next()) {
pst1.setString(1, search_txt.getText()+"%");
pst1.setString(2, search_txt.getText()+"%");
System.out.println(sql);
JOptionPane.showMessageDialog(null, "Found Academic");
Update_table(sql);
} else {
System.out.println(sql);
JOptionPane.showMessageDialog(null, "No Results Found");
}
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}