下面是函数代码,该函数在被调用时,第一次能正常执行完所有代码,当执行第二遍时while循环里的语句就不能被执行了,跳出循环体了,各位帮忙看看是怎么回事。很急啊,分不够可以再加。Statement stmt = this.myConnection.createStatement();
String sql = "select subject,mailfrom,mailto,content from spool_mail where id='"+ mailid +"'";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next())
{
String subject = rs.getString("subject");
String mailfrom = rs.getString("mailfrom");
String mailto = rs.getString("mailto");
String content = rs.getString("content"); }
this.myConnection.commit();
rs.close();
rs = null;
stmt.close();
stmt = null; this.myConnection在另外一个函数里面已经连接过了
String sql = "select subject,mailfrom,mailto,content from spool_mail where id='"+ mailid +"'";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next())
{
String subject = rs.getString("subject");
String mailfrom = rs.getString("mailfrom");
String mailto = rs.getString("mailto");
String content = rs.getString("content"); }
this.myConnection.commit();
rs.close();
rs = null;
stmt.close();
stmt = null; this.myConnection在另外一个函数里面已经连接过了
1.检查你的查询结果多于2条?
2 rs. beforeFirst();
3 类和塬码不同步,重编译
以前碰到过oracle自动关闭连接的问题,你如果不是连oracle就不用考虑了
如果是类和源码不同步怎么解决?
是在while前面加上rs. beforeFirst(); 类和源码不同步: 删除类文件,重新编译! 我一般遇到这种情况会“ 改变源码eg 增加一条 int temp = 0;
保存编译,在删除 int temp = 0; 再保存编译即可使类和源码同步
你的驱动是不是匹配呢?