这是我的功能。它获得产品的两个参数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
}
答案 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();
希望这有帮助。