rs=stmt.executeQuery(sql)出错是怎么回事

HTTPStatus500------------------------------------------------------------------------... HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Exception in JSP: /good_add_deal.jsp:37

34: String sql="";
35: sql="select*from goodinfo where gid='"+gid+"'";
36:
37: ResultSet rs=stmt.executeQuery(sql);
38:
39: if(!rs.next()){
40: out.println("<script language='javascript'>alert('该商品信息已经添加!');history.back(-1);</script>");

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:413)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

root cause

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
java.lang.String.substring(String.java:1937)
sun.jdbc.odbc.JdbcOdbcResultSet.reWordAsCountQuery(JdbcOdbcResultSet.java:6558)
sun.jdbc.odbc.JdbcOdbcResultSet.calculateRowCount(JdbcOdbcResultSet.java:6351)
sun.jdbc.odbc.JdbcOdbcResultSet.initialize(JdbcOdbcResultSet.java:155)
sun.jdbc.odbc.JdbcOdbcStatement.getResultSet(JdbcOdbcStatement.java:424)
sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:254)
org.apache.jsp.good_005fadd_005fdeal_jsp._jspService(good_005fadd_005fdeal_jsp.java:86)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
展开
 我来答
万俟乐水
推荐于2018-04-04 · TA获得超过210个赞
知道小有建树答主
回答量:156
采纳率:0%
帮助的人:78.7万
展开全部
你的sql语句别怎么写,String sql=String.format("select*from goodinfo where gid='%d'",gid);
我这里假设你的商品编号是整形的,所以用的占位符是%d,如果你是String类型,那占位符就用%s,用这样写万无一失,你上面的那种写法我以前也是这样写的,有时候有用,有时候没有,干脆改成这样吧。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忧郁de木头
2012-06-12 · 超过13用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:24.9万
展开全部
gid是字符串还是整型,整型的话不需要单引号的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你顶我试试
2012-06-04 · TA获得超过134个赞
知道小有建树答主
回答量:355
采纳率:0%
帮助的人:229万
展开全部
先确保sql语句没问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式