java jdbc不允许任何操作

陶希德

No operations allowed after statement closed.对于我的代码发生了什么,我得到了一个非常明显的自我解释。无论如何,我想知道如何以一种更清洁的方式做到这一点

public class BaseClass {
    Connection con;
    Statement st;

    protected void establishDBConnection() throws ClassNotFoundException,
      SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        String cString = "....";
        con = DriverManager.getConnection(cString, user, password);
        st = con.createStatement();
    }

    public BaseClass() {
        try {
            createDBConnection();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


public ClassB extends BaseClass {

    public ClassB() {
        super();
    }

    public void doSomething() {
        try {
            String q = "select * from my_table";
            String moreQuery = "update my_table ...."
            String anotherQuery = "do something fancy..."
            rs = st.executeQuery(q);
            while (rs.next()) {
                st.executeUpdate(moreQuery);
                st.executeUpdate(anotherQuery);
            }
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Error in getAllAssociatesOfMra: " + e);
        }
    }
}

当前,我的代码正在抛出com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after statement closed.异常。关于发生的事情很明显,但是我想知道如何在BaseClass中处理关闭。

更新

我知道有一些相关的问题,例如我的问题。这些问题的唯一问题是,一切都在主类中完成。认为这是一种设计/抽象问题

aya满

您的设计不好。您应该获得连接,最好是从连接池中获得连接,在doSomething()方法的开头创建语句(例如,调用超类方法),然后在完成“某事”后关闭StatementsResultSets

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java不允许通用类的内部类数组

来自分类Dev

不允许重复的数组(Java)

来自分类Dev

java.lang.IllegalArgumentException:不允许使用空格

来自分类Dev

MySQL不允许Java程序使用JDBC插入

来自分类Dev

为什么Java不允许扩展数组类型

来自分类Dev

ls:不允许操作

来自分类Dev

Perl:不允许操作

来自分类Dev

不允许使用Java验证进行空格

来自分类Dev

Java中不允许变量声明

来自分类Dev

为什么在Java中不允许这种向下转换?

来自分类Dev

Java swing错误“此处不允许'void'类型”

来自分类Dev

npm“不允许操作”

来自分类Dev

MySQL语句关闭后不允许进行任何操作

来自分类Dev

连接Java的MySQL的:公共密钥检索是不允许的

来自分类Dev

为什么我得到java.sql.SQLException:ResultSet关闭后不允许进行操作

来自分类Dev

MySQL不允许Java程序使用JDBC插入

来自分类Dev

不允许使用Java验证进行空格

来自分类Dev

Java / Android不允许在Intent声明中将“ this”作为参数

来自分类Dev

JDBC,servlet和奇怪的“连接关闭后不允许进行任何操作”

来自分类Dev

Hbase不允许使用JAVA API填充数据

来自分类Dev

不允许操作

来自分类Dev

Java计算器不允许单输入

来自分类Dev

SIOCSIFFLAGS:不允许操作

来自分类Dev

SQLException:java.sql.SQLException:ResultSet关闭后不允许进行操作,而ResultSet永不关闭

来自分类Dev

为什么Java不允许不能访问其超类的任何构造函数的子类?

来自分类Dev

线程“main”中的异常 java.sql.SQLException: ResultSet 关闭后不允许操作

来自分类Dev

不允许 Java 变量声明

来自分类Dev

Java:如何不允许变量低于 0

来自分类Dev

java.sql.SQLException: 连接关闭后不允许操作。数据库:mysql

Related 相关文章

热门标签

归档