mySQLデータベースからデータを取得してarrayListに格納しようとしています。しかし、このコードセットを実行すると、このエラーが発生します。フォームを提出するとSQLエラーが発生する
SQL構文にエラーがあります。私は、任意のキーワードを使用していない、1
しかしラインで「%」のDisplayName LIKE '%近くを使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認し、私はのために単一引用符が含まれてワイルドカードオペレータ。私は間違ってやったことがありますか?
あなたがAND
前に空白を追加する必要が
String sql = "SELECT * FROM azq.registration WHERE userId NOT IN (SELECT friendId FROM azq.friendlist WHERE userId ="
+ session.getAttribute("userId")
+ ") AND userId !="
+ session.getAttribute("userId")
+ "AND displayname LIKE '%" + searchText + "%'";
// create the java statement
Statement st = conn.createStatement();
// execute the query, and get a java resultset
ResultSet rs = st.executeQuery(sql);
// iterate through the java resultset
while (rs.next()) {
Friends newList = new Friends();
newList.setFirstName(rs.getString("firstName"));
newList.setLastName(rs.getString("lastName"));
newList.setUserId(rs.getString("userId"));
newList.setDisplayname(rs.getString("displayname"));
resultList.add(newList);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
2番目のANDの前にスペースを追加し、これをparamaterizedクエリに変換します。 –