gpt4 book ai didi

java - 在Where子句中插入字符串变量

转载 作者:行者123 更新时间:2023-11-29 19:29:15 26 4
gpt4 key购买 nike

如何将字符串变量 searchQuerySearchResultsActivity 传递到 where 子句SearchResultPresenter 部分>字符串。谢谢

我的 Activity

public class SearchResultsActivity ...{
...

mPresenter.getUsers(searchQuery);

...

}

我的演讲者

public class SearchResultPresenter ...{

...
public void getUsers(String searchQuery) {

String query = "....Contains(name, 'searchQuery') "; // this doesn't work, shows the method parameter `searchQuery` is never used.

String whereClause = String.format(query, ...);

}

}

最佳答案

通常,您将为此使用PreparedStatement,并且字符串中的参数将只是一个问号。像这样的事情:

   Connection con = DriverManager.getConnection(url, "UN", "PW");
PreparedStatement ps = con.prepareCall("select * from table where contains(textcol,?)");
ps.setString(1,"the string that will replace the question mark");
///in your case
ps.setString(1,searchQuery);
ResultSet rs = ps.executeQuery();

如果参数是 int,则应改为 ps.setInt(...)。也可以(但不建议)仅将值连接到字符串中,但这可能会给您带来各种问题,因此不要养成这样做的习惯。

因此,在您的具体代码中,您的搜索字符串变量可以直接放入 ps.setString() 方法中,并且您的查询字符串可以是其中带有问号的静态最终类级别字符串。

关于java - 在Where子句中插入字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41913653/

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