Eran Bolandian
Eran Bolandian

Reputation: 21

How to delete row in database in MySQL using JSP?

This is my function. It gets two parameter id of the product and a name. the function delete with MySQL command a row in a database. I know the that there are missing lines in my code, I'm stuck and I don't know how to finish it. I also know that my SQL line is not correct. I'm not sure if combined the String "name" right.

public static deletePro(int cat, String name) {

    DB db = new DB();
    String sql = "delete from products where pname=+'name' and catid=" + cat;
    ResultSet rs = db.getResultSet(sql);

    try {
        while (rs.next()) {
            Products prod = new Products();
            prod.setNamePro(rs.getString(name));
            prod.setAmount(rs.getInt(cat));
        }

        rs.close();
        db.closeCon();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return
}

Upvotes: 2

Views: 4751

Answers (1)

Advaita Gosvami
Advaita Gosvami

Reputation: 358

String sql = "delete from products where pname=+'name' and catid=" + cat;

This should be:

String sql = "DELETE FROM products WHERE pname='" + name + "' and catid = " + cat;

And the preferred way is to use PreparedStatement, which would alleviate the pain of string manipulation in your query by using placeholders:

String sql = "DELETE FROM products WHERE pname= ? and catid = ?";

PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, name);
ps.setInt(2, cat);

ps.executeUpdate();

Hope this helps.

Upvotes: 2

Related Questions