我也看不出来,不过建议你一步一步的调试,看看错误处在哪里,
比如你可以把getChange方法的updateFlag = stmt.executeUpdate( sql );注释掉,
看看会不会出问题。如果没有问题了,那就把updateFlag = stmt.executeUpdate( sql );
改成stmt.executeUpdate( sql );加上,看看还有没有问题
总之,一步一步找肯定可以找到错误的来源,找到错误之后再找对策
比如你可以把getChange方法的updateFlag = stmt.executeUpdate( sql );注释掉,
看看会不会出问题。如果没有问题了,那就把updateFlag = stmt.executeUpdate( sql );
改成stmt.executeUpdate( sql );加上,看看还有没有问题
总之,一步一步找肯定可以找到错误的来源,找到错误之后再找对策
stmt.executeUpdate( sql ); //即可以。。
插入数据不需要再返回结果集
那样做了也没用,还是有错!!
public void getChange( String sql ) throws Exception
{
try
{
Statement stmt = con.createStatement( );
stmt.executeUpdate( sql );
}
catch( Exception e )
{
e.printStackTrace( );
}
} 调用:
sql2 = "insert t1 select 'gg',24,97.5f";
bean1.getChange( sql2 );错误:javax.servlet.ServletException: dqh.MyBean.myBean1.getChange(Ljava/lang/String;)V
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:795)
org.apache.jsp.test1_jsp._jspService(test1_jsp.java:110)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NoSuchMethodError: dqh.MyBean.myBean1.getChange(Ljava/lang/String;)V
org.apache.jsp.test1_jsp._jspService(test1_jsp.java:71)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
只是简单的执行而已,而且并没有两个方法一起调用,就那两行
sql2 = "insert t1 select 'gg',24,97.5f";
bean1.getChange( sql2 );
也没有用到其他动作,我很是纳闷啊!!!
原来是这样:我表里原来只有三个字段,现在多了个字段,所以SQL语句没有指出确定的插入哪三个字段,所以就出现错误了!!但是我想问问,为什么原来那样返回值就会错呢??!