gpt4 book ai didi

java - 在 ResultSet 的每一行末尾插入一个字符串(最后一行除外)

转载 作者:行者123 更新时间:2023-12-02 04:06:34 25 4
gpt4 key购买 nike

我正在查询一个表,它返回未知的行数。我正在尝试构建一个动态查询,如下所示:

sql_string = "select * from table where ";
while (res.next()) {
sql_string += res.getString(1) + "union"
}
etc etc.

本质上,res.next() 引用了之前执行的查询,我正在尝试通过替换结果集中的值来构建查询。最终查询应该类似于:

从表中选择 *,其中 cond1
联盟
select * from table where cond2
,但它返回类似:

从表中选择 *,其中 cond1
联盟
select * from table where cond2 UNION

达到预期结果的最佳方法是什么?谢谢!

最佳答案

嗯,您可以调用 ResultSet.isLast() 函数来检查您的后缀是否应附加,但它是可选的(可能不会由您的 JDBC 提供程序实现),并且也可以价格昂贵。

更好的想法可能是在循环的开头而不是末尾附加额外的内容:

String originalSql = sql_string + " ";
String append = " ";
while(res.next()) {
sql_string += append + res.getString(1);
append = " union " + originalSql;
}

关于java - 在 ResultSet 的每一行末尾插入一个字符串(最后一行除外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34235623/

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