Projet_POO/Projet_POO/src/bdd/GestionnaireHistorique.java
2020-12-16 11:03:50 +01:00

127 行
2.4 KiB
Java

package bdd;
import java.net.InetAddress;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import clavardage.gestionnaireClavardage;
import nom.GestionnaireNom;
import ui.NomUI;
public class GestionnaireHistorique {
//Instance du gestionnaire d'historique
static private GestionnaireHistorique uniqueInstance = null;
//Renvoie le gestionnaire d'historique, ou le crée s'il n'existe pas encore
static public GestionnaireHistorique instance() {
//Si l'instance n'existe pas, on la crée
if (GestionnaireHistorique.uniqueInstance == null) {
GestionnaireHistorique.uniqueInstance = new GestionnaireHistorique();
}
return GestionnaireHistorique.uniqueInstance;
}
private String combiner(String id1, String id2) {
if (id1.compareTo(id2) >= 0) {
return id1 + "___" + id2;
}
else {
return id2 + "___" + id1;
}
}
public void recuperer(String id1, String id2) {
String id = combiner(id1, id2);
Statement st;
int rs1;
ResultSet rs2;
String query1 =
"CREATE TABLE IF NOT EXISTS " + id
+ "(id INT NOT NULL AUTO_INCREMENT,"
+ "expediteur VARCHAR(50),"
+ "msg VARCHAR(70),"
+ "PRIMARY KEY (id) );";
String query2 = "SELECT * FROM " + id
+ " ORDRE BY id;";
try {
Connection con = Liaison.getConnection();
st = con.createStatement();
rs1 = st.executeUpdate(query1);
rs2 = st.executeQuery(query2);
while(rs2.next()) {
System.out.println("Historic SUCCESS");
System.out.println(rs2.getString(2)); //indice commence à 1
}
// à mettre dans un finally
rs2.close();
st.close();
con.close();
} catch (SQLException e) {
System.out.println("Erreur : Historic BDD");
e.printStackTrace();
}
}
public void ajouter(String id1, String id2, String expediteur, String msg) {
String id = combiner(id1, id2);
Statement st;
int rs;
String query = "INSERT INTO " + id
+ "(expediteur, msg) VALUES (" + expediteur + ", " + msg + ");";
try {
Connection con = Liaison.getConnection();
st = con.createStatement();
rs = st.executeUpdate(query);
// à mettre dans un finally
st.close();
con.close();
} catch (SQLException e) {
System.out.println("Erreur : Historic BDD");
e.printStackTrace();
}
}
}