sql >> Database >  >> RDS >> Mysql

Geen bewerkingen toegestaan ​​nadat verbinding is gesloten MYSQL

Het heeft twee redenen:

  • De verbinding wordt verbroken na de uitvoering van de eerste PreparedStatement
  • getcon gebruikt een instance variabele in plaats van local variabel. Hierdoor is dezelfde conn variabele (degene die eerder gesloten was) wordt geretourneerd wanneer getcon wordt de volgende keer gebeld.

Om dit op te lossen, getcon en DBConnect moet worden aangepast om een ​​lokale conn . te declareren variabele en retourneer deze (in feite heeft u DBConnect niet nodig helemaal niet), bijv.:

public Connection getcon(){
    try{
        Class.forName("com.mysql.jdbc.Driver");
        String unicode="useSSL=false&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8";
        return DriverManager.getConnection("jdbc:mysql://localhost:15501/duckdb?"+unicode, "root", "_PWD");
    }catch(Exception ex){
        System.out.println(ex.getMessage());
        System.out.println("couldn't connect!");
        throw new RuntimeException(ex);
    }
}


  1. Relationele versus niet-relationele databases - Deel 1

  2. Is SET CHARACTER SET utf8 nodig?

  3. Moet ik MyISAM- of InnoDB-tabellen gebruiken voor mijn MySQL-database?

  4. MySQL:ERROR 1215 (HY000):Kan geen beperking voor externe sleutels toevoegen