gpt4 book ai didi

java - 如何用 Postgres 替换 Java 中的单引号?

转载 作者:行者123 更新时间:2023-11-29 14:07:53 25 4
gpt4 key购买 nike

如何用 Postgres 替换 Java 中的单引号?

select * from where id in ('<45646300.KDSFJJSKJSDF95'fdgdfgdfgd>', 'fdgdfgdg');

我总是像这样使用参数

select * from where id = ?;

但在这种情况下我遇到了问题,我有一个带有传递给它的字符串的“in”语句。

我希望替换所有危险字符

最佳答案

最好继续使用 PreparedStatement 而不是手动转义字符。

IN 子句的情况下,您可以动态生成具有适当数量的 ? 的查询。

String[] input = ...;

StringBuilder b = new StringBuilder();
b.append("select * from where id in (");
b.append("?"); // Assume that input contains at least one element
for (int i = 1; i < input.length; i++) b.append(", ?");
b.append(")");

PreparedStatement s = c.prepareStatement(b.toString());

for (int i = 0; i < input.length; i++) s.setString(i + 1, input[i]);

关于java - 如何用 Postgres 替换 Java 中的单引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5742662/

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