gpt4 book ai didi

java - 获取结果集中的特定行?

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

从 SQL 查询获取结果后,我可以通过 while 循环访问结果:

String query = "SELECT TAX_RATE_ID FROM dbo.TAX_RATE where zip_code = 38401";
ResultSet rs= conn.createStatement().executeQuery(query);
while (rs.next()) {
System.out.println(rs.getString("TAX_RATE_ID"));
}

但我不想在 while 循环中访问它们,我只想获取单个结果并返回值,因为我知道运行查询时会发生什么。所以我尝试了这个:

String query = "SELECT TAX_RATE_ID FROM dbo.TAX_RATE where zip_code = 38401";
ResultSet rs= conn.createStatement().executeQuery(query);
rs.first();
System.out.println(rs.getString("TAX_RATE_ID"));

但我收到此错误:

Exception in thread "main" java.sql.SQLException: ResultSet may only be accessed in a forward direction.
at net.sourceforge.jtds.jdbc.JtdsResultSet.checkScrollable(JtdsResultSet.java:319)
at net.sourceforge.jtds.jdbc.JtdsResultSet.first(JtdsResultSet.java:545)
at com.kirklands.automation.ecom.Testing.main(Testing.java:12)

最佳答案

您不必在循环中调用next()。如果您只想获取第一行,请使用:

String query = "SELECT TAX_RATE_ID FROM dbo.TAX_RATE where zip_code = 38401";
ResultSet rs= conn.createStatement().executeQuery(query);
if (rs.next()) {
System.out.println(rs.getString("TAX_RATE_ID"));
}
<小时/>

不相关,但是:

conn.createStatement().executeQuery() 将创建一个 Statement 实例,您无法使用 close() 正确清理该实例。

关于java - 获取结果集中的特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43849937/

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