Java 获取错误“;结果集关闭后不允许操作";
我得到了一个例外: 结果集关闭后不允许操作 我错在哪里 代码:Java 获取错误“;结果集关闭后不允许操作";,java,mysql,database,jdbc,Java,Mysql,Database,Jdbc,我得到了一个例外: 结果集关闭后不允许操作 我错在哪里 代码: try{ Class.forName("com.mysql.jdbc.Driver"); Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","root"); Statement s=con.createStatement(); ResultSet rs1=s.ex
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","root");
Statement s=con.createStatement();
ResultSet rs1=s.executeQuery("Select * from items");
while(rs1.next()) {
q= (q+Integer.parseInt(rs1.getString("qty")));
//update items Set qty=5 where name='Maggi';
s.executeUpdate("update items SET qty="+q+" WHERE name='"+value+"'");
}
}
catch(Exception ee){
System.out.println(ee);
}
由于执行查询和更新部分需要两个不同的语句对象,请尝试:
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","root");enter code here
Statement s=con.createStatement();
ResultSet rs1=s.executeQuery("Select * from items");
while(rs1.next()){
q= (q+Integer.parseInt(rs1.getString("qty")));
s=con.createStatement(); // <- create a new statement here
s.executeUpdate("update items SET qty="+q+" WHERE name='"+value+"'");
}
}
catch(Exception ee){
System.out.println(ee);
}
}
试试看{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/project“,”根“,”根“;在此处输入代码
语句s=con.createStatement();
ResultSet rs1=s.executeQuery(“从项目中选择*);
while(rs1.next()){
q=(q+Integer.parseInt(rs1.getString(“数量”));
s=con.createStatement();//您两次使用相同的语句对象。您需要两个不同的语句对象来执行查询和频繁更新?只需编写代码,不需要解释?@Jägermeister-抱歉被取消了-要做的工作以及所有这些。