读取一次数据库后接着读取第二次就出现如下异常:
javax.servlet.ServletException: java.lang.AbstractMethodError: com.microsoft.jdbc.base.BaseStatement.isClosed()Z
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.checkok_jsp._jspService(checkok_jsp.java:168)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
如何解决???谢谢!!
主要代码是:
public Connection getConnection()throws SQLException
{
if(connection==null||connection.isClosed())
{
connection=DriverManager.getConnection(url,"sa","");
}
return connection;
}
public Statement getStatement() throws SQLException
{
if(statement==null||statement.isClosed())
{
statement=getConnection().createStatement(); }
return statement;
}
public ResultSet getResult() throws SQLException
{
return getResult(sql);
}
public ResultSet getResult(String sql)throws SQLException
{
return getStatement().executeQuery(sql);
}
public int update()throws SQLException
{
return update(sql);
}
public int update(String sql)throws SQLException
{
return getStatement().executeUpdate(sql);
}
}
jsp连接数据库读取一次后连接关闭
答案:5 悬赏:80 手机版
解决时间 2021-04-05 01:43
- 提问者网友:不爱我么
- 2021-04-04 12:16
最佳答案
- 五星知识达人网友:几近狂妄
- 2021-04-04 12:51
你是不是在代码中将BaseStatement关闭了后又执行SQL语句了啊?
=========================================================
把你的DBbean.java贴出来看看.
=========================================================
这些代码没问题,调用它们的代码你也得贴出来.是调用的地方有问题吧.
=========================================================
把你的DBbean.java贴出来看看.
=========================================================
这些代码没问题,调用它们的代码你也得贴出来.是调用的地方有问题吧.
全部回答
- 1楼网友:平生事
- 2021-04-04 16:08
getResult();的方法体是咋写里,你贴出来看看
- 2楼网友:行路难
- 2021-04-04 14:33
上面直接写着你将statement关闭了
你检查一下吧
- 3楼网友:山君与见山
- 2021-04-04 13:29
这还不简单啊,那你就执行两次sql语句啊,你执行完一次删除表操作后,将你的connection实例置为null,然后再用statement或者preparedstatement执行多一次sql语句。
然后就可以了。
- 4楼网友:不想翻身的咸鱼
- 2021-04-04 13:10
isClosed()是jdk6.0新增的。
驱动类旧的话,就没能实现。
解决办法就是去掉isclosed这个判断。直接关闭就好。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯