我想知道是否有任何聪明的方法可以为有 5 个可选参数的搜索引擎创建 SQL 语句。可以使用所有参数,也可以仅使用其中一个参数,也可以混合使用其中任何参数。这构成了多达 3000 多种不同的组合。
需要准备该语句以避免 SQL 注入。
我看过这篇文章,但它并没有被削减。
我正在寻找的是这样的东西,
字符串 sql =SELECT * FROM 表 WHERE(可选1)=?和(可选2)=?和(可选3)=?和(可选4)=?和(可选5)=?
prepared.setString(1, 可选1) 等等...
我为数据库访问做了一个准备好的声明,虽然它很有用但我不确定是什么问题.
它应该做的是取一个整数和一个字符串并根据这个更新数据库.
这是代码.与DB本身的连接有效,我知道这可以执行"正常"语句.
public void updateShipment(int shipmentNumber, String currentLocation)
throws SQLException {
String sql = "UPDATE shipments SET current_node=? WHERE shipment_id=?";
con.setAutoCommit(false);
pre = con.prepareStatement(sql);
pre.setInt(1, shipmentNumber);
pre.setString(2, currentLocation);
pre.executeUpdate();
con.commit();
pre.close();
con.setAutoCommit(true);
}
Run Code Online (Sandbox Code Playgroud)