【java】能不能在返回结果的里面再用resultset?

importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;impor... import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class db {
public static void main(String[] args) {
String dbUrl ="jdbc:odbc:test";
String dbUser = "";
String dbPwd = "";

Connection conn = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
Statement st=conn.createStatement();
String sql="select * from t1 ";
ResultSet rs=st.executeQuery(sql);
String name=null;
String xy;
String number;
while(rs.next()){
name=rs.getString(1);
xy=rs.getString(2);
number=rs.getString(3);
String sqll="update t2 set number='" + number + "' where name='" + name + "' and xy='" + xy + "'";
st.executeUpdate(sqll);
}

} catch (Exception e) {

e.printStackTrace();
}

}

}

我在while语句里面也用了sql语句进行操作,这样是不是错的啊?我看反悔了错误提示

java.sql.SQLException: ResultSet is closed
at sun.jdbc.odbc.JdbcOdbcResultSet.checkOpen(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.next(Unknown Source)
at db.main(db.java:23)
提示错误是ResultSet is closed数据库连接绝对没有问题
加了这两句之后就出错了
String sqll="update t2 set number='" + number + "' where name='" + name + "' and xy='" + xy + "'";
st.executeUpdate(sqll);
展开
 我来答
xiaye_1001
2010-05-19 · 超过16用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:43.7万
展开全部
可以肯定的说在while(rs.next())中操作一个其他的数据库操作时肯定没问题的。你可以把ResultSet rs1 = st.executeUpdate(sqll);然后中间插入System.out看一下错误出在哪了。
qiaole123
2010-05-19 · TA获得超过3413个赞
知道大有可为答主
回答量:1408
采纳率:66%
帮助的人:967万
展开全部
我去尝试一下,还没有在while里在写 SQL语句,以前要么一个方法写一个操作,偶尔也写两个操作,就是返回插入的identity编号。
等待ing、、、

哈哈,你搞错了,可分析出来错误了,你在while循环了不断更新又不断查询,就相当于一个死循环了,然后ResultSet就关闭了。不要那么弄。可以把他添加到数据里面在在while循环外更新,这样就可以了、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
644792799
2010-05-18 · TA获得超过662个赞
知道小有建树答主
回答量:696
采纳率:100%
帮助的人:529万
展开全部
操作数据库一张表的时候又试图操作其它的表,估计不行吧!JDBC是单线程的。呵呵,个人意见
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
53242083
2010-05-18 · 超过27用户采纳过TA的回答
知道答主
回答量:239
采纳率:0%
帮助的人:0
展开全部
提示什么错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式