gpt4 book ai didi

java - 执行多个查询结果集中没有当前行问题

转载 作者:行者123 更新时间:2023-12-01 09:06:52 25 4
gpt4 key购买 nike

我试图从另一个表中的列中获取一个值并将其传递给 SP 过程,但我得到了

No current row in the ResultSet

at cs.setString(1, rsS.getString("ID"));//p_ID

正确的做法是什么

//get value P_ID based on itemnumber
PreparedStatement preparedStatement = null;
String sqli = "select ID,[ItemNumber] from [file].[Item] where [ItemNumber] =?";
preparedStatement = con.prepareStatement(sqli);
preparedStatement.setString(1, itemcard);
ResultSet rsS = preparedStatement.executeQuery();
while (rsS.next())
System.out.println(rsS.getString("ID"));

//for updating trash
CallableStatement cs = null;
String queryundo = "{ call [file].[usp_trashItem](?,?,?,?)} ";
cs = con.prepareCall(queryundo);
cs.setString(1, rsS.getString("ID")); // p_ID
cs.setString(2, "U"); //p_Action(U for untrash T for Trash)
cs.setInt(3, 1); //p_Quantity
cs.setString(4, doerTicket); //p_DoerTicket
cs.executeQuery();
con.close();
}
}

还有这个

                    PreparedStatement preparedStatement = null;
String sqli = "select ID,[ItemNumber] from [file].[Item] where [ItemNumber] =?";
preparedStatement = con.prepareStatement(sqli);
preparedStatement.setString(1, itemcard);
ResultSet rsS = preparedStatement.executeQuery();
while (rsS.next()) {
System.out.println(rsS.getString("ID"));

//for updating trash
CallableStatement cs = null;
String queryundo = "{ call [file].[usp_trashItem](?,?,?,?)} ";
cs = con.prepareCall(queryundo);
cs.setString(1, rsS.getString("ID")); // p_ID
cs.setString(2, "U"); //p_Action(U for untrash T for Trash)
cs.setInt(3, 1); //p_Quantity
cs.setString(4, doerTicket); //p_DoerTicket
cs.executeQuery();
con.close();
}
}
}

我明白

The executeQuery method must return a result set

最佳答案

while (rsS.next())没有大括号,因此它只会在 System.out.println(rsS.getString("ID")); 上循环.

在循环之外(在 rsS.next() 返回 false 之后)ResulSet将是空的。

也可能cs不保存查询,而是保存其他类型的语句,因此您不能使用 cs.executeQuery()因为如果它不返回结果,它会给你一个错误。

尝试使用cs.executeUpdate()cs.execute() .

关于java - 执行多个查询结果集中没有当前行问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41202323/

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