如何使用JSP删除MySQL中的数据库中的行?

时间:2015-01-04 20:52:15

标签: mysql jsp

这是我的功能。它获得产品的两个参数id和名称。函数delete用MySQL命令在数据库中输入一行。我知道我的代码中缺少行,我被卡住了,我不知道如何完成它。我也知道我的SQL行不正确。我不确定是否合并了String" name"右。

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
}

1 个答案:

答案 0 :(得分:2)

  

String sql ="从pname = +' name'的产品中删除和catid =" + cat;

这应该是:

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

首选方法是使用PreparedStatement,这将通过使用占位符减轻查询中字符串操作的痛苦:

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

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

ps.executeUpdate();

希望这有帮助。