请大家帮我看看为什么会有这个异常?

ilikehere 2003-04-05 01:09:21
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="mysql" class="byyl.dbConnection" scope="page"/>

<%
String msgID;
msgID="1";
//msgID=(String)session.getValue("ID");

String sql="select * from bbsMSG where id='"+msgID+"'";
ResultSet rs=mysql.executeQuery(sql);

rs.next();

int num=rs.getInt("replyNum");
num+=1;

rs.close();
%>

<%
String plus="update bbsMSG set replyNum='"+num+"',appTime=getDate() where id='"+msgID+"'";
mysql.executeUpdate(plus);
%>
目的是从表中查询出一个值,做处理后再用这个值来更新这条记录。
这里有异常,两条sql语句上都没什么错误,单独存在的时候正常。
但是这里放一起就不行了,不知如何解决啊,请大哥们帮忙!
...全文
7 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xfounder 2003-04-16
rs.next();

int num=rs.getInt("replyNum");
num+=1;

rs.close();

int num=0;
if(rs.next())
{
num=rs.getInt("replyNum");
num+=1;
}
rs.close();
回复
jeston 2003-04-16
指针问题。你的connection 用的是什么连接方法???
stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY
);
如果rs没有记录,你也会发生例外。
回复
xfounder 2003-04-16
数据类型不一致
String plus="update bbsMSG set replyNum='"+num+"',appTime=getDate() where id='"+msgID+"'";
replyNum到底是int还是string?


回复
ilikehere 2003-04-05
没人回吗?
做过asp或者jsp的都会碰到啊,我第一次做,帮帮我吧!我等。。。。。。
回复
ilikehere 2003-04-05
但是我的代码里就是只用到一次ResultSet

异常是这个:
javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver]????????? hstmt
哪位知道的教教我啊,我真的很痛苦.....
回复
cgsun 2003-04-05
如不对,请指教。
回复
cgsun 2003-04-05
mysql里的问题。
一个Statement只可以对应一个ResultSet.
By default, only one ResultSet object per Statement object can be open at the same time. Therefore, if the reading of one ResultSet object is interleaved with the reading of another, each must have been generated by different Statement objects. All execution methods in the Statement interface implicitly close a statment's current ResultSet object if an open one exists.

from jdk1.4.1 api doc

<转载>
回复
hocus 2003-04-05
把异常贴出来
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-04-05 01:09
社区公告
暂无公告