當我在我的數據庫Microsoft Access查詢,使用此代碼..在選擇語句結果的where子句中使用LIKE和OR來表示「參數太少」。預期1.'
dc.rs = dc.st.executeQuery("select count(*) from Accounts where username like '%"+searchTF.getText()+"%' OR firstname like '%"+searchTF.getText()+"%'");
我得到了這樣的結果,不知道這是錯誤的,因爲它是寫在黑色文本。
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
我想通過用戶名或姓名,這就是爲什麼我把一個或者沒有進行搜索。
有誰知道我在哪裏遇到了一些問題?
'searchTF.setText(「; DELETE * FROM Accounts;」);' – Perception
您的代碼容易受到[SQL注入攻擊](https://en.wikipedia.org/wiki/SQL_injection)!你應該從不**從這樣的用戶輸入構建SQL語句。改爲使用帶有參數的準備好的語句! –
@Perception:'「'; DELETE * FROM Accounts; - 」'可能更好「。 –