[HSQLDB]fonctionnement bizarre :/
Bonjour :D,
Tout d'abord je précise que j'ai déjà fait une recherche sur le forum et consulté la doc officielle (mais bon mon niveau en anglais laisse à désirer...)
Je suis en train de découvrir HSQLDB et je n'arrive pas à comprendre pourquoi les données persistent que lorsque je fais un SHUTDOWN ?
Voici un exemple de code qui marche :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
package testhsqldb;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* @author frikha
*/
public class Main {
/** Creates a new instance of Main */
public Main() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try{
Class.forName("org.hsqldb.jdbcDriver").newInstance();
System.out.println("Classe trouvée !");
}catch(ClassNotFoundException ex){
ex.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
try {
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:./data/mydb", "sa", "");
System.out.println("Connection établie !");
Statement st=c.createStatement();
System.out.println(st.execute("INSERT INTO animaux VALUES('chien')"));
Statement str=c.createStatement();
ResultSet rs=str.executeQuery("SELECT * FROM animaux");
int i=0;
while(rs.next()){
System.out.println(rs.getString(1)+" "+(++i));
}
str.execute("SHUTDOWN");
} catch (SQLException ex) {
ex.printStackTrace();
}
}
} |
Si j'enlève la ligne en rouge, les données ne persistent plus : elles ne s'affichent pas dans le SELECT :?
Ceci est d'autant plus bizarre que le SHUTDOWN intervient après le INSERT et le SELECT :fou:
Quelqu'un pourrait m'expliquer s'il vous plait ?
:merci: