SQLクエリを作成し、データを取得するためにテキストフィールドを使用しました。しかし、テキストフィールドが空の場合、すべてのデータが得られます。どうすればそれを止めることができますか? - 言い訳TextFieldsを使用したJava SQLのクエリ
String sql = "select * from boek where ";
sql = addLike(sql, null, naam", txtNaam.getText());
sql = addLike(sql, "OR", auteur", txtAuteur.getText());
...
String addLike(String sql, String op, String col, String arg) {
if (arg != null && arg.length() > 0) {
return sql + " " + (op == null ? "" : op) + " " + col + " like '%" + arg + "%' " ;
}
構文の問題
String sql = "select * from boek where naam like '%"
+ txtNaam.getText() + "%' or auteur like '%"
+ txtAuteur.getText() + "%' or categorie like '%"
+ txtCategorie.getText() + "%' or opleiding like '%"
+ txtOpleiding.getText() + "%' not opleiding like '%"
+ txtOpleiding.getText() + "%' ";
フィールドが空であることを許可しないでください。 –
@Dan Bracuk私が本を検索する場合、私は著者の名前を知る必要はありません。だから私は別のテキストフィールドを空にすることができます。とにかく、おかげで。 – Atti
あなたのユーザ入力は '% 'かもしれません。 DROP DATABASE ... 'として... –