下面是相关的代码部分:Server. Proxy.update_allLogOut:(第65行是时括号)
public void update_allLogOut ()
{
try
{
ResultSet rs;
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM sysuser WHERE login=1");
while(rs.next())
{
stmt.executeUpdate("UPDATE sysuser SET login=0");
}
rs.close();
} catch (SQLException e) {e.printStackTrace();}
}
服务器服务器:
public Server(int port)
{
super(port);
func.update_allLogOut();
}
主要:
Server sv = new Server(5555);
我必须指出,它99%的运行时间都没有例外。。但有几次我遇到了这个例外,我不明白为什么会发生这种情况。有什么想法吗?很明显,有些地方做错了,但这里所有类似的主题都没有给出这个问题的答案。。。
我不确定这个街区:
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM sysuser WHERE login=1");
while(rs.next())
{
stmt.executeUpdate("UPDATE sysuser SET login=0");
}
rs.close();
是个好主意。为什么不执行简单的查询:更新sysuser SET login=0,其中login=1?
此外,在
内部使用相同的stmt,而在
循环-这是一个很大的错误。
您正在使用stmt来迭代选择的结果,并在循环内更新。这不起作用,因为从执行更新的那一刻起,与选择关联的结果集就关闭了。
要修复,请使用两个单独的语句对象。
我已经为此工作了将近一天半,我似乎无法解决这个错误。我不知道为什么结果集被关闭。也许你们中的一些人可以帮我。 MySQL数据库: MySQLHandler MySQLDonation 异常发生在这里:在MySQLDonation和实际堆栈跟踪的同时循环中: 有了这些信息,让我说这确实有效,我得到了我的信息和游戏中没有的东西,但它会重复,就像用户永远不会从查询中删除,所以它会给他们无限的奖励。如果您
我试图为通过html形式的文本框检索的查询编写一个JUnit测试。文本检索已经过测试并有效,但我的单元测试失败了。我使用了两个相关的类:QueryController和QueryControlllerTest。我一直在玩弄我在这两个类中关闭的时间和内容,并不断得到错误:结果集关闭后不允许操作。 QueryController测试。Java语言 QueryController。Java语言
我是java和SQL新手,我在重复一个我不知道如何避免的问题: 假设我想创建两个执行查询,一个在getRequest estsFromDB方法中的另一个内部,我创建第一个执行查询,在第二个方法中,我创建第二个执行查询: 第二个功能: 在第二个循环中,我得到了一个SQLException:“ResultSet关闭后不允许操作”,我尝试了:最后用result关闭结果。close()但我也得到异常nul
单击按钮时,此代码显示此错误消息: 结果集关闭后不允许操作 代码:
我正在使用Prepared语句进行我的SELECT查询。之后,我试图从结果集获取信息,并将其放入数组列表中。我正在将其放入结果集循环,但我得到了一个错误。sql。SQLException:结果集关闭后不允许操作。我试图用rs.close()关闭它,但它给了我同样的错误。这是我的方法。请帮忙!
问题内容: 我已经为此工作了将近一天半,但似乎无法解决此错误。我不知道为什么ResultSet被关闭。也许有些人可以帮助我。 MySQL数据库: MySQLHandler MySQL捐赠 异常发生在这里:在MySQLDonation的while循环中,实际的堆栈跟踪是这样的: 有了这些信息,我可以说这 确实 有效,我得到了我的信息,但不是游戏中的内容,而是重复出现的内容,就像用户从未从查询中删除一