diff --git a/src/main/java/fr/myny/database/DataBase.java b/src/main/java/fr/myny/database/DataBase.java index 6a78cbd..6afd569 100644 --- a/src/main/java/fr/myny/database/DataBase.java +++ b/src/main/java/fr/myny/database/DataBase.java @@ -10,162 +10,125 @@ import java.io.*; public class DataBase { //public static String url="jdbc:mariadb://vachot.fr:3306?user=mynynicolas&password=Bw0po64*"; - - public static final int NBCOL =25; - public static final String url="jdbc:mariadb://phpmyadmin.vachot.fr:3306?db=myny&user=mynynicolas&password=Bw0po64*"; - public static final String filePath="c:/Users/cocof/Bureau/nouveau_loto.csv"; - Connection conn; + public static final int NBCOL =25;//le nombre de coldu fichier csv + public static final String url="jdbc:mariadb://phpmyadmin.vachot.fr:3306?db=myny&user=mynynicolas&password=Bw0po64*";//l'acces à la db + Connection conn;//la connexion a la db /** * Le constructeur de DataBase */ public DataBase(){ } - + /** + * La methode de connection + * @return conn la connection a la db + */ + public Connection getConnection() { + conn = null; + try { + conn = DriverManager.getConnection(url); + //conn = DriverManager.getConnection("jdbc:mariadb://vachot.fr:3306?user=mynynicolas&password=Bw0po64*"); + //conn = DriverManager.getConnection("jdbc:mariadb://phpmyadmin.vachot.fr:3306/myny?user=mynynicolas&password=Bw0po64*"); + //conn = DriverManager.getConnection("jdbc:mariadb:../../../../../../test.db"); + if(conn!=null) { + System.out.println("Connecte a la db"); + System.out.println(conn); + } + }catch(SQLException e) { + System.out.println("getConnection on a des pb:" + e.getMessage()); + } + return conn; + } /** - * La methode dimport de donnees depuis la base de donnees + * La methode d import de donnees depuis la base de donnees */ public void importDataBase(){ } /** - * La methode de creation de la base de donnees + * La methode de creation de la table + * stmt Statement la variable pour créer la declaration + * sql String la requete + * @return res, int le resultat de la requete (nb de ligne affectees) */ - public void createDataBase() { - String sql="CREATE TABLE IF NOT EXISTS myny.Test_Table ("+ - " annee_numero_de_tirage INTEGER,"+ //1 - " jour_de_tirage VARCHAR(10),"+ //2 VARCHAR - " date_de_tirage DATE,"+ //3 DATE - " date_de_forclusion DATE,"+ //4 DATE - " boule_1 TINYINT,"+ //5 - " boule_2 TINYINT,"+ //6 - " boule_3 TINYINT,"+ //7 - " boule_4 TINYINT,"+ //8 - " boule_5 TINYINT,"+ //9 - " numero_chance TINYINT,"+ //10 - " combinaison_gagnante_en_ordre_croissant varchar(20),"+//11 VARCHAR - " nombre_de_gagnant_au_rang1 INTEGER,"+ //12 - " rapport_du_rang1 float(53),"+ //13 flo - " nombre_de_gagnant_au_rang2 INTEGER,"+ //14 - " rapport_du_rang2 float(53),"+ //15 flo - " nombre_de_gagnant_au_rang3 INTEGER,"+ //16 - " rapport_du_rang3 float(53),"+ //17 flo - " nombre_de_gagnant_au_rang4 INTEGER,"+ //18 - " rapport_du_rang4 float(53),"+ //19 flo - " nombre_de_gagnant_au_rang5 INTEGER,"+ //20 - " rapport_du_rang5 float(53),"+ //21 flo - " nombre_de_gagnant_au_rang6 INTEGER,"+ //22 - " rapport_du_rang6 float(53),"+ //23 flo - " numero_jokerplus INTEGER,"+ //24 - " devise VARCHAR(10));"; //25 VARCHAR + public int createTable() { + int res=-1; + Statement stmt; + String sql="CREATE TABLE IF NOT EXISTS myny.Test_Table ("+ //declaration de la table, de ses colonnes et de leur type et leur taille (on aurai pu ajouter des param supplementaires) + " annee_numero_de_tirage INTEGER,"+ //1 long + " jour_de_tirage VARCHAR(10),"+ //2 String + " date_de_tirage DATE,"+ //3 String + " date_de_forclusion DATE,"+ //4 String + " boule_1 TINYINT,"+ //5 long + " boule_2 TINYINT,"+ //6 long + " boule_3 TINYINT,"+ //7 long + " boule_4 TINYINT,"+ //8 long + " boule_5 TINYINT,"+ //9 long + " numero_chance TINYINT,"+ //10 long + " combinaison_gagnante_en_ordre_croissant varchar(20),"+//11 String + " nombre_de_gagnant_au_rang1 INTEGER,"+ //12 long + " rapport_du_rang1 float(53),"+ //13 double + " nombre_de_gagnant_au_rang2 INTEGER,"+ //14 long + " rapport_du_rang2 float(53),"+ //15 double + " nombre_de_gagnant_au_rang3 INTEGER,"+ //16 long + " rapport_du_rang3 float(53),"+ //17 double + " nombre_de_gagnant_au_rang4 INTEGER,"+ //18 long + " rapport_du_rang4 float(53),"+ //19 double + " nombre_de_gagnant_au_rang5 INTEGER,"+ //20 long + " rapport_du_rang5 float(53),"+ //21 double + " nombre_de_gagnant_au_rang6 INTEGER,"+ //22 long + " rapport_du_rang6 float(53),"+ //23 double + " numero_jokerplus INTEGER,"+ //24 long + " devise VARCHAR(10));"; //25 String //System.out.println(sql); try { - conn = DriverManager.getConnection(url); + conn = DriverManager.getConnection(url); //connection a la db if(conn!=null) { - Statement stmt = conn.createStatement(); - stmt.executeQuery(sql); + stmt = conn.createStatement(); //creation de la declaration + res=stmt.executeUpdate(sql); //execution de la declaration + //stmt.executeQuery(sql); conn.commit(); //conn.close(); System.out.println("statement cree"); } } catch (SQLException e) { - System.out.println("oskour"); + System.out.println("create table probleme, verifier si le pb ne vient pas de executeupdate au lieu executequery"); System.out.println(e.getMessage()); } - /*try(Statement mySt = conn.createStatement()){ - mySt.execute(//"CREATE SCHEMA IF NOT EXISTS Connection;"+ - "CREATE TABLE IF NOT EXISTS myny.Test_Table ("+ - "annee_numero_de_tirage INTEGER,"+ - "jour_de_tirage CHAR(10),"+ - "date_de_tirage DATE,"+ - "date_de_forclusion DATE,"+ - "boule_1 TINYINT,"+ - "boule_2 TINYINT,"+ - "boule_3 TINYINT,"+ - "boule_4 TINYINT,"+ - "boule_5 TINYINT,"+ - "numero_chance TINYINT,"+ - "combinaison_gagnante_en_ordre_croissantchar(20),"+ - "nombre_de_gagnant_au_rang1 INTEGER,"+ - "rapport_du_rang1 INTEGER,"+ - "nombre_de_gagnant_au_rang2 INTEGER,"+ - "rapport_du_rang2 INTEGER,"+ - "nombre_de_gagnant_au_rang3 INTEGER,"+ - "rapport_du_rang3 INTEGER,"+ - "nombre_de_gagnant_au_rang4 INTEGER,"+ - "rapport_du_rang4 INTEGER,"+ - "nombre_de_gagnant_au_rang5 INTEGER,"+ - "rapport_du_rang5 INTEGER,"+ - "nombre_de_gagnant_au_rang6 INTEGER,"+ - "rapport_du_rang6 INTEGER,"+ - "numero_jokerplus INTEGER,"+ - "deviseCHAR(10));"); - conn.commit(); - //mySt.close(); - //conn.close(); - } - catch(Exception e){ - System.out.println(e); - } - finally { - }*/ - /* - try { - PreparedStatement preparedStatement = connexion.prepareStatement("INSERT INTO noms(nom, prenom) VALUES(?, ?);"); - preparedStatement.setString(1, utilisateur.getNom()); - preparedStatement.setString(2, utilisateur.getPrenom()); - - preparedStatement.executeUpdate(); - } catch (SQLException e) { - e.printStackTrace(); - }*/ - // try { - // Class.forName("com.mysql.jdbc.Driver"); - // } - // catch (ClassNotFoundException e) { - // } - // - // try { - // conn = DriverManager.getConnection("jdbc:mysql://localhost:3306"); - // } catch (SQLException e) { - // System.out.println("oskour " +e.getStackTrace()); - // } - // - // Statement statement = null; - // ResultSet resultat = null; - // try { - // statement = conn.createStatement(); - // - // // Exécution de la requête - // resultat = statement.executeQuery("SELECT nom, prenom FROM noms;"); - // - // // Récupération des données - // while (resultat.next()) { - // String nom = resultat.getString("nom"); - // String prenom = resultat.getString("prenom"); - // } - // } - // catch (SQLException e) { - // System.out.println(e); - // } + return res; } /** * La methode de remplissage de la base de donnees + * line String la ligne a ajouter + * i int, un compteur de valeurs lues, + * j int, qui suit i%NBCOL + * nbValAj int qui augmente si on doit ajouter des lignes + * date String, la valeur de la date lue + * jour String, le jour lu + * mois String, le mois lu + * an String, l annee lue + * mesL tableau dans lequel seront stockés tous les long + * mesS tableau dans lequel seront stockés tous les String + * mesD tableau dans lequel seront stockés tous les Double + * sc Scanner, l objet qui servira a lire le fichier csv + * @param filePath String le fichier et son chemin + * @return res int le resultat de la requete(nb de ligne affectees) */ - public void fillDataBase(){ + public int fillTable(String filePath){ + int res=-1; + Scanner sc; int i=0,j, nbValAj=0; - long val; String line=""; String date, jour, mois, an; long[][] mesL=new long[4000][NBCOL+1]; String[][]mesS=new String[4000][NBCOL+1]; Double[][]mesD=new Double[4000][NBCOL+1]; - String sql="INSERT INTO myny.Test_Table" + + String sql="INSERT INTO myny.Test_Table" +//definit la requete " (annee_numero_de_tirage, "+ " jour_de_tirage, "+ " date_de_tirage,"+ @@ -192,11 +155,10 @@ public class DataBase { " numero_jokerplus ,"+ " devise ) VALUES \n"; try { - Scanner sc = new Scanner(new File(filePath)); - sc.useDelimiter(";|\\n"); //sets the delimiter pattern - line=sc.nextLine(); - line=""; - while (sc.hasNext()){ + sc = new Scanner(new File(filePath));//lire le fichier csv + sc.useDelimiter(";|\\n"); //definit les separateurs utilisés + sc.nextLine();//passe la premiere ligne, les metadonnees + while (sc.hasNext()){//tant qu'on a des champs non-vides, on va remplir la ligne et les cases specifiques des tableaux a 2 dim correspondant au champ lu j=(i% NBCOL)+1; if(j==1) { line=line+"(?,"; @@ -246,7 +208,7 @@ public class DataBase { System.out.println(e.getMessage()); } if (nbValAj>0) {//si on a des modifications - PreparedStatement ps = null; + PreparedStatement ps; try { conn = this.getConnection(); if (conn != null) { @@ -256,7 +218,6 @@ public class DataBase { if((b>1&&b<5)||b==11||b==25){ System.out.println("a: "+a+" et b: "+b); ps.setString((a)*25+b, mesS[a][b]); - } else if(b > 12 && b < 24 && b % 2 == 1){ System.out.println("a: "+a+" et b: "+b); @@ -271,32 +232,44 @@ public class DataBase { } } } - ps.executeQuery();//puis on execute la requete + res=ps.executeUpdate(); + //ps.executeQuery();//puis on execute la requete System.out.println("update validee"); } } catch (SQLException e) { - System.out.println("oskour into update"); + System.out.println("filldatebase probleme, verifier si le pb ne viens pas de executeupdate au lieu executequery"); System.out.println(e.getMessage()); } } + return res; } /** * La methode de mise a jour de la base de donnees - * @return sql String, contenant la requete SQL - * @var sc Scanner, l objet qui servira a lire le fichier csv - * @var line String, ligne contenant l'ajout a effectuer - * @var i int, un compteur de valeurs lues, - * @var j int, qui suit i%NBCOL - * @var nbValAj int qui augmente si on doit ajouter des lignes - * @var date String, la valeur de la date lue - * @var jour String, le jour lu - * @var mois String, le mois lu - * @var an String, l annee lue - * @var anEntre long, valeur lue pour l annee et le numero de tirage. sert a definir si la valeur est a ajouter dans la table + * @return res int, le resultat de la requete(nb de ligne affectees) + * sc Scanner, l objet qui servira a lire le fichier csv + * line String, ligne contenant l'ajout a effectuer + * i int, un compteur de valeurs lues, + * j int, qui suit i%NBCOL + * nbValAj int qui augmente si on doit ajouter des lignes + * date String, la valeur de la date lue + * jour String, le jour lu + * mois String, le mois lu + * an String, l annee lue + * anEntre long, valeur lue pour l annee et le numero de tirage. sert a definir si la valeur est a ajouter dans la tabl + * @deprecated */ - public String updateDataBase() throws FileNotFoundException { - String sql="INSERT INTO myny.Test_Table" + //le debut de la requete, specifiant laction a effectuer, la table et la db + public int updateTable(String filePath) throws FileNotFoundException { + ResultSet rs=null; + Scanner sc; + int res=-1; + int i,j, nbValAj=0; + String date, jour, mois, an; + String line=""; + long anEntre; + Statement stmt; + long maxvaldb; + String sql="INSERT INTO myny.Test_Table" + //le debut de la requete, specifiant laction a effectuer, la table et la db " (annee_numero_de_tirage, "+ " jour_de_tirage, "+ " date_de_tirage,"+ @@ -325,18 +298,15 @@ public class DataBase { try { conn = this.getConnection(); //initialisation de la connexion if(conn!=null) { //si la co est bonne - Scanner sc = new Scanner(new File(filePath)); //lire le fichier donne + sc = new Scanner(new File(filePath)); //lire le fichier donne sc.useDelimiter(";|\\n"); //les delimiteurs seront ; et \n sc.nextLine(); //on ne conserve pas la premiere ligne, contenant les metadonnees - int i=0,j=0, nbValAj=0; - String date, jour, mois, an; - String line=""; - long anEntre=Long.parseLong(sc.next()); //lecture de l id en haut du tableau(donc le plus grand, cest ce qu on a constate en lisant le csv + anEntre=Long.parseLong(sc.next()); //lecture de l id en haut du tableau(donc le plus grand, cest ce qu on a constate en lisant le csv //System.out.println("numero en haut du fichier csv :"+anEntre); - Statement stmt = conn.createStatement(); //recuperation du nb de lignes dans la table - ResultSet rs = stmt.executeQuery("SELECT MAX(annee_numero_de_tirage) FROM myny.Test_Table;"); + stmt = conn.createStatement(); //recuperation du nb de lignes dans la table + rs = stmt.executeQuery("SELECT MAX(annee_numero_de_tirage) FROM myny.Test_Table;"); rs.next(); - long maxvaldb=rs.getLong(1); + maxvaldb=rs.getLong(1); //System.out.println("numero max de la db :"+rs.getLong(1)); /*comme les nombres de la premiere col sont decroissants, le nb le plus grand est lu en premier, on va donc lire les nombres jusqua arriver a la plus haute valeur entree dans la table. On ne @@ -353,20 +323,20 @@ public class DataBase { } if (j < NBCOL && j > 1) {//pour chaque colonne, on va faire en sorte de mettre le champ dans la onne mise en fore pour qu'il soit accepté par la db if (j == 2 || j == 11) { - line = line + "\'" + sc.next().replace(",", ".") + "\',"; + line = line + "'" + sc.next().replace(",", ".") + "',"; } else if (j == 3 || j == 4) {//pour les col 3 et 4, il s'agit d'une date, on va donc passer dela forme jj-mm-aaaa a la forme aaaa-mm-jj date = sc.next().replace(",", "."); jour = date.substring(0, 2); mois = date.substring(3, 5); an = date.substring(6, 10); - line = line + "\'" + an + "-" + mois + "-" + jour + "\',"; + line = line + "'" + an + "-" + mois + "-" + jour + "',"; } else {//pour les autres col, on va simplement les remplir line = line + sc.next().replace(",", "."); line = line + ';'; } } if (j == NBCOL) {//pour la derniere col - line = line + "\'" + sc.next().replace(",", ".") + "\'"; + line = line + "'" + sc.next().replace(",", ".") + "'"; line = line + ')';//on la remplit line = line.replaceAll("\\s", "");//on remplace les caracteres qui nous derangent line = line.replaceAll(";", ","); @@ -388,53 +358,55 @@ public class DataBase { conn = this.getConnection(); if (conn != null) { stmt = conn.createStatement(); - stmt.executeQuery(sql); + res=stmt.executeUpdate(sql); + //stmt.executeQuery(sql); conn.commit(); //conn.close(); System.out.println("update validee"); } } catch (SQLException e) { - System.out.println("oskour into update"); + System.out.println("updateDataBase probleme"); System.out.println(e.getMessage()); } } } } catch (SQLException e) { - System.out.println("oskour update"); + System.out.println("updateDataBase probleme"); System.out.println(e.getMessage()); } - return sql; + return res; } /** * La methode de mise a jour de la base de donnees 2 qui evite les injections sql - * @return sql String, contenant la requete SQL - * @var mesL tableau dans lequel seront stockés tous les long - * @var mesS tableau dans lequel seront stockés tous les String - * @var mesD tableau dans lequel seront stockés tous les Double - * @var sc Scanner, l objet qui servira a lire le fichier csv - * @var line String, ligne contenant l'ajout a effectuer - * @var i int, un compteur de valeurs lues, - * @var j int, qui suit i%NBCOL - * @var a int, un compteur de lignes modifiees - * @var b int, un compteur de champs modifiees - * @var nbValAj int qui augmente si on doit ajouter des lignes - * @var date String, la valeur de la date lue - * @var jour String, le jour lu - * @var mois String, le mois lu - * @var an String, l annee lue - * @var anEntre long, valeur lue pour l annee et le numero de tirage. sert a definir si la valeur est a ajouter dans la table - * @var ps PreparedStatement pour executer la requete sans injection sql - * @var stmt Statement pour executer la requete de depart + * @return rs, int, le resultat de la requete (nb de lignes affectees) + * mesL tableau dans lequel seront stockés tous les long + * mesS tableau dans lequel seront stockés tous les String + * mesD tableau dans lequel seront stockés tous les Double + * sc Scanner, l objet qui servira a lire le fichier csv + * line String, ligne contenant l'ajout a effectuer + * i int, un compteur de valeurs lues, + * j int, qui suit i%NBCOL + * a int, un compteur de lignes modifiees + * b int, un compteur de champs modifiees + * nbValAj int qui augmente si on doit ajouter des lignes + * date String, la valeur de la date lue + * jour String, le jour lu + * mois String, le mois lu + * an String, l annee lue + * anEntre long, valeur lue pour l annee et le numero de tirage. sert a definir si la valeur est a ajouter dans la table + * ps PreparedStatement pour executer la requete sans injection sql + * stmt Statement pour executer la requete de depart */ - public String updateDataBasev2() throws FileNotFoundException { + public int updateTablev2(String filePath) throws FileNotFoundException { //Ligne maL=new Ligne(); + ResultSet rs=null; + int res=-1; Statement stmt; long[][] mesL=new long[4000][NBCOL+1]; String[][]mesS=new String[4000][NBCOL+1]; Double[][]mesD=new Double[4000][NBCOL+1]; Scanner sc; - ResultSet rs; long anEntre; int i,j, nbValAj=0; String date, jour, mois, an; @@ -525,7 +497,7 @@ public class DataBase { } System.out.println(sql); if (nbValAj>0) {//si on a des modifications - PreparedStatement ps = null; + PreparedStatement ps; try { conn = this.getConnection(); if (conn != null) { @@ -535,7 +507,6 @@ public class DataBase { if((b>1&&b<5)||b==11||b==25){ System.out.println("a: "+a+" et b: "+b); ps.setString((a-1)*25+b, mesS[a][b]); - } else if(b > 12 && b < 24 && b % 2 == 1){ System.out.println("a: "+a+" et b: "+b); @@ -547,78 +518,119 @@ public class DataBase { } } } - ps.executeQuery();//puis on execute la requete + res=ps.executeUpdate();//puis on execute la requete + //res=ps.executeQuery();//puis on execute la requete System.out.println("update validee"); } } catch (SQLException e) { - System.out.println("oskour into update"); + System.out.println("updateDataBasev2 probleme"); System.out.println(e.getMessage()); } } } } catch (SQLException e) { - System.out.println("oskour update"); + System.out.println("updateDataBasev2 probleme, verifier si le pb ne vient pas de executeupdate au lie de executequery"); System.out.println(e.getMessage()); } - return sql; + return res; } - public void removeLines(int i) throws FileNotFoundException{ + /** + * la methode de suppression des lignes strictement supérieures a la valeur i dans annee_numero_de_tirage + * @param i la valeur de reference + * @return res, int le resultat de la requete (nb de lignes affectees) + */ + public int removeMultiplesLines(int i){ + int res=-1; String sql="delete from myny.Test_Table where annee_numero_de_tirage >"+i; try { conn = this.getConnection(); if(conn!=null) { Statement ps = conn.createStatement(); - ps.executeQuery(sql); + res=ps.executeUpdate(sql); + //ps.executeQuery(sql); conn.commit(); //conn.close(); System.out.println("statement cree"); } } catch (SQLException e) { - System.out.println("oskour"); + System.out.println("removeLines probleme"); System.out.println(e.getMessage()); } - + return res; } - public void dropTable() throws FileNotFoundException{ - String sql="drop table myny.Test_Table"; + /** + * la methode de selection de la ligne ayant la valeur i dans annee_numero_de_tirage + * @param i la valeur de reference + * @return rs, ResultSet le resultat de la requete + */ + public ResultSet showLine(int i){ + ResultSet rs=null; + String sql="select * from myny.Test_Table where annee_numero_de_tirage ="+i; try { conn = this.getConnection(); if(conn!=null) { Statement ps = conn.createStatement(); - ps.executeQuery(sql); + rs=ps.executeQuery(sql); conn.commit(); //conn.close(); System.out.println("statement cree"); } } catch (SQLException e) { - System.out.println("oskour"); + System.out.println("removeLine probleme"); System.out.println(e.getMessage()); } - + return rs; } - - - /** - * La methode de connection + * la methode de suppression de la ligne ayant la valeur i dans annee_numero_de_tirage + * @param i la valeur de reference + * @return res, int le resultat de la requete(nb de lignes affectees) */ - public Connection getConnection() { - conn = null; + public int removeLine(int i){ + int res=-1; + String sql="delete from myny.Test_Table where annee_numero_de_tirage ="+i; try { - conn = DriverManager.getConnection(url); - //conn = DriverManager.getConnection("jdbc:mariadb://vachot.fr:3306?user=mynynicolas&password=Bw0po64*"); - //conn = DriverManager.getConnection("jdbc:mariadb://phpmyadmin.vachot.fr:3306/myny?user=mynynicolas&password=Bw0po64*"); - //conn = DriverManager.getConnection("jdbc:mariadb:../../../../../../test.db"); + conn = this.getConnection(); if(conn!=null) { - System.out.println("Connected to database"); - System.out.println(conn); + Statement ps = conn.createStatement(); + res=ps.executeUpdate(sql); + //res=ps.executeQuery(sql); + conn.commit(); + //conn.close(); + System.out.println("statement cree"); } - }catch(SQLException e) { - System.out.println("on a des pb:" + e.getMessage()); + } catch (SQLException e) { + System.out.println("removeLine probleme, voir si le pb ne vient pas d'execute query et executeupdate"); + System.out.println(e.getMessage()); } - return conn; + return res; } + + /** + * La methode pour supprimer la table entiere + * @return res int le resultat de la requete(nb de lignes affectees) + */ + public int dropTable(){ + String sql="drop table myny.Test_Table"; + int res=-1; + try { + conn = this.getConnection(); + if(conn!=null) { + Statement ps = conn.createStatement(); + //rs=ps.executeQuery(sql); + res=ps.executeUpdate(sql); + conn.commit(); + //conn.close(); + System.out.println("statement cree"); + } + } catch (SQLException e) { + System.out.println("dropTable probleme, voir si le pb ne vient pas d'execute query et executeupdate"); + System.out.println(e.getMessage()); + } + return res; + } + } diff --git a/src/test/java/fr/myny/database/DataBaseTest.java b/src/test/java/fr/myny/database/DataBaseTest.java index 23d2d52..78abf23 100644 --- a/src/test/java/fr/myny/database/DataBaseTest.java +++ b/src/test/java/fr/myny/database/DataBaseTest.java @@ -3,20 +3,20 @@ package fr.myny.database; import org.junit.jupiter.api.Test; import java.sql.*; -import java.util.*; import java.io.*; import static org.junit.jupiter.api.Assertions.*; -import fr.myny.database.*; class DataBaseTest { - Connection connexion; + Connection maCo; + public static final String FILEPATH="c:/Users/cocof/Bureau/nouveau_loto.csv"; @Test void fillDataBase() throws SQLException { DataBase maDB=new DataBase(); - Connection maCo=maDB.getConnection(); + maCo=maDB.getConnection(); assertNotNull(maCo); - maDB.fillDataBase(); + int res= maDB.fillTable(FILEPATH); + System.out.println(res); Statement stmt= maDB.conn.createStatement(); ResultSet rs=stmt.executeQuery("SELECT Count(*) From myny.Test_Table"); rs.next(); @@ -31,9 +31,9 @@ class DataBaseTest { } @Test - void createDataBase() throws SQLException { + void createTable() throws SQLException { DataBase maDB=new DataBase(); - maDB.createDataBase(); + maDB.createTable(); Statement stmt= maDB.conn.createStatement(); ResultSet rs=stmt.executeQuery("Select * From myny.Test_Table"); ResultSetMetaData rsmd =rs.getMetaData(); @@ -43,21 +43,21 @@ class DataBaseTest { } @Test - void updateDataBase() throws FileNotFoundException { + void updateTable() throws FileNotFoundException, SQLException { DataBase maDB=new DataBase(); - Connection maCo=maDB.getConnection(); - String requete = maDB.updateDataBase(); - System.out.println(requete); + maCo=maDB.getConnection(); + int res = maDB.updateTable(FILEPATH); + System.out.println(res); assertNotNull(maCo); } @Test - void updateDataBasev2() throws FileNotFoundException { + void updateTablev2() throws FileNotFoundException, SQLException { DataBase maDB=new DataBase(); - Connection maCo=maDB.getConnection(); - String requete = maDB.updateDataBasev2(); - System.out.println(requete); + maCo=maDB.getConnection(); + int res = maDB.updateTablev2(FILEPATH); + System.out.println(res); assertNotNull(maCo); } @@ -65,14 +65,31 @@ class DataBaseTest { @Test void getConnection() { DataBase maDB=new DataBase(); - Connection maCo=maDB.getConnection(); + maCo=maDB.getConnection(); assertNotNull(maCo); } + @Test + public void showLine() throws SQLException { + DataBase maDB=new DataBase(); + ResultSet rs=maDB.showLine(2017001); + rs.next(); + for (int i=1;i<26;i++) { + System.out.print(rs.getObject(i)+", "); + } + } + @Test - public void removeLines() throws FileNotFoundException{ + public void removeMultiplesLines() throws FileNotFoundException{ DataBase maDB=new DataBase(); - maDB.removeLines(0); + int res= maDB.removeMultiplesLines(2017004); + System.out.print(res); + } + @Test + public void removeLine() throws FileNotFoundException{ + DataBase maDB=new DataBase(); + int res= maDB.removeLine(2017014); + System.out.print(res); } @Test