Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package SQL_Project;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- public class Utilisateur {
- public static java.util.Scanner scanner = new java.util.Scanner(System.in);
- private String url = "jdbc:postgresql://localhost:5432/projet"; // LOCAL
- //private String url="jdbc:postgresql://172.24.2.6:5432/gcurato16"; // ECOLE
- private PreparedStatement psAjoutUtilisateur;
- private PreparedStatement psAuthentification;
- private PreparedStatement psAjoutQuestion;
- private PreparedStatement psAjoutReponse;
- private PreparedStatement psAjoutVote;
- private PreparedStatement psAjoutTagQuestion;
- private Connection conn=null;
- public Utilisateur() {
- // test driver
- try {
- Class.forName("org.postgresql.Driver");
- } catch (ClassNotFoundException e) {
- System.out.println("Driver PostgreSQL manquant !");
- System.exit(1);
- }
- // test connection
- try {
- conn = DriverManager.getConnection(url, "postgres", "gabygab11");
- } catch (SQLException e) {
- System.out.println("Impossible de joindre le serveur");
- System.exit(1);
- }
- try {
- psAjoutUtilisateur = conn.prepareStatement("SELECT projet.ajouterUtilisateur(?,?,?);");
- psAjoutQuestion = conn.prepareStatement("SELECT projet.ajouterQuestion(?,?,?);");
- psAjoutReponse = conn.prepareStatement("SELECT projet.ajouterReponse(?,?,?);");
- psAjoutVote = conn.prepareStatement("SELECT projet.ajouterVotes(?,?,?);");
- psAjoutTagQuestion = conn.prepareStatement("SELECT projet.ajouterTag_question(?,?)");
- psAuthentification = conn.prepareStatement("SELECT * from projet.Utilisateurs WHERE NOT desactive AND nom_utilisateur = ? AND mot_de_passe = ?");
- }catch (SQLException se){
- System.out.println("Error, "+se.getMessage());
- System.exit(1);
- }
- }
- // Inscription phase
- private int inscriptionUtilisateur() {
- try {
- System.out.println("Veuillez trouver un nom d'utilisateur");
- String nom_utilisateur = scanner.nextLine();
- System.out.println("Veuillez entrer votre email,");
- String email = scanner.nextLine();
- System.out.println("votre mot de passe,");
- String mot_de_passe = scanner.nextLine();
- psAjoutUtilisateur.setString(1,nom_utilisateur);
- psAjoutUtilisateur.setString(2,email);
- psAjoutUtilisateur.setString(3,mot_de_passe);
- ResultSet rs = psAjoutUtilisateur.executeQuery();
- while(rs.next()){
- System.out.println("Inscription bien effectuée");
- System.out.println("Vous êtes maintenant connecté");
- return rs.getInt(1);
- }
- }catch (SQLException se){
- System.out.println("Error, "+se.getMessage());
- return -1;
- }
- return -1;
- }
- // authentification phase
- private int authentification() {
- System.out.println("Bonjour, veuillez-vous identifier svp:");
- System.out.println("Nom utilisateur:");
- String s = scanner.nextLine();
- System.out.println("Mot de Passe:");
- String s2 = scanner.nextLine();
- int num_user = authentification(conn, s, s2);
- if (num_user == -1){
- System.out.println("Votre nom d'utilisateur/mot de passe est incorrect ou votre compte est désactivé ");
- return -1;
- }else {
- System.out.println("Vous êtes connecté !");
- return num_user;
- }
- }
- /* authentification methode */
- /**
- * @POST: return a boolean depending on the authentification's success
- * @param connection
- * @param nom_utilisateur
- * @param mdp
- */
- public int authentification(Connection connection, String nom_utilisateur, String mdp){
- try {
- psAuthentification.setString(1, nom_utilisateur);
- psAuthentification.setString(2, mdp);
- try (ResultSet rs = psAuthentification.executeQuery()) {
- while (rs.next()){
- if (rs.getString(4).equals(mdp) && rs.getString(2).equals(nom_utilisateur))
- return rs.getInt(1);
- }
- } catch (SQLException se) {
- return -1;
- }
- return -1;
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- return -1;
- }
- }
- // AjouterQuestion
- public int ajouterQuestion(int numero_utilisateur){
- try {
- System.out.println("Veuillez inserer le titre de votre question");
- String titre = scanner.nextLine();
- System.out.println("Veuillez ecrire le contenu de votre question");
- String contenu =scanner.nextLine();
- psAjoutQuestion.setString(1, titre);
- psAjoutQuestion.setString(2, contenu);
- psAjoutQuestion.setInt(3, numero_utilisateur);
- ResultSet rs = psAjoutQuestion.executeQuery();
- while(rs.next()) {
- System.out.println("La question a été ajoutée !");
- System.out.println("Souhaitez-vous y ajouter un tag ? Si oui ecrivez bonjour");
- String ajoutTag = scanner.nextLine();
- if(ajoutTag.equals("bonjour")) {
- ajouterTagQuestion(rs.getInt(1));
- }
- return rs.getInt(1);
- }
- }catch (SQLException se){
- se.printStackTrace();
- System.out.println("Erreur, "+se.getMessage());
- }
- return -1;
- }
- public void ajouterTagQuestion(int numero_question) {
- try {
- System.out.println("Veuillez écrire l'ID d'un tag à ajouter à la question : ");
- int id_tag = Integer.parseInt(scanner.nextLine());
- psAjoutTagQuestion.setInt(id_tag, numero_question);
- ResultSet rs = psAjoutTagQuestion.executeQuery();
- while(rs.next()) {
- System.out.println("Le tag a bien été ajouté !");
- }
- }catch(SQLException se) {
- se.printStackTrace();
- System.out.println("Erreur, " +se.getMessage());
- }
- }
- //ajouterReponse BESOIN AFFICHER QUESTIONS AVANT
- public int ajouterReponse(int num_auteur, int num_question) {
- try {
- System.out.println("Veuillez entrer le contenu de votre réponse");
- String contenu = scanner.nextLine();
- psAjoutReponse.setString(1, contenu);
- psAjoutReponse.setInt(2, num_question);
- psAjoutReponse.setInt(3, num_auteur);
- ResultSet rs = psAjoutReponse.executeQuery();
- while(rs.next()) {
- return rs.getInt(1);
- }
- }catch(SQLException se) {
- System.out.println("Erreur, "+se.getMessage());
- }
- return -1;
- }
- public String ajouterVote(int num_utilisateur, int id_reponse){
- try{
- System.out.println("Veuillez écrire positif ou negatif");
- String type_vote = scanner.next();
- psAjoutVote.setString(1, type_vote);
- psAjoutVote.setInt(2, num_utilisateur);
- psAjoutVote.setInt(3, id_reponse);
- ResultSet rs = psAjoutVote.executeQuery();
- while(rs.next()){
- return rs.getString(1);
- }
- } catch(SQLException se) {
- System.out.println("Erreur, "+se.getMessage());
- }
- return "Ca n'a pas fonctionné";
- }
- // fermer connection
- public void close() {
- try {
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- Utilisateur ut = new Utilisateur();
- int choisir;
- int NUM_UTILISATEUR = 0;
- int NUM_QUESTION_SELECTIONNE = 0;
- boolean CONNECTE = false;
- System.out.println("Bienvenu dans le menu de navigation de l'Utilisateur");
- System.out.println("Pour vous inscrire, tappez 1");
- System.out.println("Pour vous connecter, tappez 2");
- choisir = Integer.parseInt(scanner.nextLine());
- switch(choisir){
- case 1:
- NUM_UTILISATEUR = ut.inscriptionUtilisateur();
- break;
- case 2 :
- NUM_UTILISATEUR = ut.authentification();
- break;
- }
- System.out.println("Pour ajouter une question, tappez 3");
- System.out.println("Pour ajouter une reponse, tappez 4");
- System.out.println("Pour voter, tapper 5");
- System.out.println("Pour ajouter un tag, tapper 6");
- System.out.println("Pour vous déconnecter, tapper 7");
- choisir = Integer.parseInt(scanner.nextLine());
- switch(choisir){
- case 3:
- NUM_QUESTION_SELECTIONNE = ut.ajouterQuestion(NUM_UTILISATEUR);
- case 4 :
- if(NUM_QUESTION_SELECTIONNE == 0) {
- System.out.println("Veuillez introduire un numéro de question : ");
- NUM_QUESTION_SELECTIONNE = Integer.parseInt(scanner.nextLine());
- }
- ut.ajouterReponse(NUM_UTILISATEUR, NUM_QUESTION_SELECTIONNE);
- case 5 :
- case 6 :
- case 7 :
- ut.close();
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement