所以在我的節目,我有:使用「%」作爲參數的通配符在SQL和Java
private static final String GET_USERS_BY_PARAMS = "select * from user t "
+ "where t.id like %?% "
+ "AND t.name LIKE %?% "
+ "AND t.location LIKE %?% "
+ "AND t.telephone LIKE %?% ";
上述所有的參數都存儲在數據庫中的varchar。
然而,當我運行以下命令:
statement = connection.prepareStatement(GET_USERS_BY_SEARCH_PARAMS);
statement.setString(1, userID);
statement.setString(2, name);
statement.setString(3, location);
statement.setString(4, telephone());
rs = statement.executeQuery();
我得到一個SQL異常,指出有一個無效字符。應用程序在executeQuery上拋出錯誤,因此設置params不是問題。我想知道這是否是使用%符號,我列入,這樣你就可以搜索而不必輸入確切的用戶ID,名稱等。
感謝您提前提供任何幫助!
非常感謝大家的回答:)有時我討厭我只能接受一個的事實! – TangoKilo