簡體   English   中英

從哪里刪除ID ='用戶插入的文本'?

[英]DELETE FROM where ID = 'user inserted text'?

我想刪除id =用戶在Java中的jTextField中插入文本的MySQL行。 我知道我需要使用txtGebruikersID.getText();類的東西txtGebruikersID.getText(); 但不確定如何正確組合它們,以便當有人在JTextField(txtGebruikersID)中插入25之類的值時,25的值將到達25所在的位置:

query = "delete from gebruiker where gebruiker_ID = 25";

我在QueryManager.java中使用的代碼:

public void removeGebruiker() {
        String query;
        query = "delete from gebruiker where gebruiker_ID = 25";
        dbmanager.insertQuery(query);
    }

JTextField稱為txtGebruikersID

我在userPanel.java中使用的代碼:

private void removeUserActionPerformed(java.awt.event.ActionEvent evt) {

        WinkelApplication.getInstance().getQueryManager().removeGebruiker();
        JOptionPane.showMessageDialog(null, "Gebruiker is verwijderd", "Gebruiker", JOptionPane.INFORMATION_MESSAGE);
    }

你應該做這樣的事情。 這是使用sqls的首選方法

query = "delete from gebruiker where gebruiker_ID = ?";
PreparedStatement st = con.prepareStatement(query); // con is active connection
st.setInt(1,Integer.parseInt(txtGebruikersID.getText()));

什么是SQL注入”

將函數編輯為如下所示:

public void removeGebruiker(String gebruiker_id) {
    //Some checks here perhaps
    String query;
    query = "delete from gebruiker where gebruiker_ID = " + gebruiker_id;
    dbmanager.insertQuery(query);
}

假設您有一個小組,

WinkelApplication.getInstance().getQueryManager().removeGebruiker(TEXTFIELDNAMEHERE.getText());

如果用戶在文本字段中輸入12,則結果查詢將為:

delete from gebruiker where gebruiker_ID = 12

但是,有更好的方法可以做到這一點。 准備好的語句確實更好。 如果確實使用此方法,請確保檢查用戶的輸入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM