gpt4 book ai didi

java - 当前光标位置的操作无效。 (Java 数据库)

转载 作者:行者123 更新时间:2023-11-29 00:23:44 25 4
gpt4 key购买 nike

我正在运行以下代码以从数据库中获取数据..

public String getCurrentSeason(String leagueName)
{
String qry = "Select * from KHAN.LeagueSeason where league_name = '"+leagueName+"' AND end_Date IS NULL";
try{
ResultSet rs = stmt.executeQuery(qry);

if(rs.next());
{
String s = rs.getString(1);
return s;
}
}
catch(SQLException err)
{
System.out.println(err.getMessage());
System.exit(0);
}
return "";
}

虽然我正在使用 rs.next() 但它仍然给出错误“当前光标位置的操作无效。”。有人可以指出错误。我是 Java 编程的初学者。假设连接和所有其他东西都在类构造函数中初始化

最佳答案

如果您提供一个不存在的 leagueName 作为参数,就会发生这种情况。

问题是 if 语句后的分号 - 因为空语句在 Java 中是合法的,所以您实际上已经实现了以下逻辑:如果 ResultSet 有另一个元素,什么也不做。之后,无论您是否什么都不做(当然,这有点毫无意义),您都会打开另一个 block ,并尝试从该 ResultSet 中检索一个字符串。如果它是空的,您将收到您描述的错误。

长话短说 - 去掉 if 后的分号,你应该没问题:

public String getCurrentSeason(String leagueName)
{
String qry = "Select * from KHAN.LeagueSeason where league_name = '"+leagueName+"' AND end_Date IS NULL";
try{
ResultSet rs = stmt.executeQuery(qry);

if(rs.next()) // note: no semicolon here
{
String s = rs.getString(1);
return s;
}
}
catch(SQLException err)
{
System.out.println(err.getMessage());
System.exit(0);
}
return "";
}

关于java - 当前光标位置的操作无效。 (Java 数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036073/

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