gpt4 book ai didi

java - 我如何动态修改 Java 中的 SQL 查询?

转载 作者:行者123 更新时间:2023-11-29 05:17:59 25 4
gpt4 key购买 nike

我正在制作一个包含搜索引擎功能的 Java 程序,以根据用户从组合框中选择的不同标准显示数据库中的记录。我需要能够根据用户选择的内容修改 SQL 查询的 WHERE 条件。如果他没有从组合框中选择任何值,则默认值为 WHERE=1,如果他从一个组合框中选择了条件,则覆盖该变量,因此 1 将其更改为 WHERE state=oklahoma 例如,他选择了 2 个或更多只是继续连接它们: WHERE state=oklahoma AND gender=male,等等,他设置了多少组合框。

我试过这样做,但我读到有一些库可以使这更容易,但我不知道,如果这可以用一个库来完成,请给它命名并显示代码来做到这一点

最佳答案

  1. 如果组合框编号 i 被选中,则 isSelected[i]=true

  2. content[i] 是组合框编号 i 的值。

第一个解决方案

PreparedStatement ps = (PreparedStatement) con.prepareStatement
(“SELECT username, password FROM users WHERE
state LIKE ? AND gender LIKE ?″); // AND ...



for(int i=0; i<n; i++) // n number of combo boxes
if (!isSelected[i])
ps.setString(i+1,"%");
else
ps.setString(i+1,content[i]);
ResultSet rs=ps.executeQuery();

第二种方案

PreparedStatement ps = (PreparedStatement) con.prepareStatement
(“SELECT username, password FROM users WHERE (? OR
state=?) AND (? OR gender=?)″); // AND ...

for(int i=0; i<n; i++) {// n number of combo boxes
ps.setString(2*i+1,content[i]);
ps.setBoolean(2*i+2,isSelected[i]);
}
ResultSet rs=ps.executeQuery();

关于java - 我如何动态修改 Java 中的 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30019907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com