IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

j'essaie de me connecter à la table 'users' de ma base de données


Sujet :

Développement Web en Java

  1. #1
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut j'essaie de me connecter à la table 'users' de ma base de données
    Je rencontre un problème avec mon application web Java. J'ai mis en place une base de données PostgreSQL et j'essaie de mettre en place l'enregistrement et la connexion des utilisateurs. Cependant, je rencontre un problème lorsque j'essaie de me connecter à la table 'users' de ma base de données.

    Extrait de code 1 (DbCon.java) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
    public class DbCon {
        private static Connection connection = null;
     
        public static Connection getConnection() throws ClassNotFoundException, SQLException {
            if (connection est null ou la connexion est fermée) {
                try {
                    Class.forName("org.postgresql.Driver");
     
                    String url = "jdbc:postgresql://localhost:5432/commer";
                    String user = "postgres";
                    String motDePasse = "motDePasse";
                    connection = DriverManager.getConnection(url, user, motDePasse);
                    System.out.println("Connexion réussie");
                } catch (ClassNotFoundException | SQLException e) {
                    e.printStackTrace();
                    throw e;
                }
            }
            return connection;
        }
    }
    Extrait de code 2 (UserDao.java) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    public class UserDao {
        private Connection con;
        private String query;
        private PreparedStatement pst;
        private ResultSet rs;
     
        public UserDao(Connection con) {
            this.con = con;
        }
     
        public User userLogin(String email, String motDePasse) {
            User utilisateur = null;
            try {
                query = "select * from users where email=? and password=?";
                pst = this.con.prepareStatement(query);
                pst.setString(1, email);
                pst.setString(2, motDePasse);
                rs = pst.executeQuery();
                if (rs.next()) {
                    utilisateur = new User();
                    utilisateur.setId(rs.getInt("id"));
                    utilisateur.setNom(rs.getString("nom"));
                    utilisateur.setEmail(rs.getString("email"));
                }
            } catch (Exception e) {
                e.printStackTrace();
                System.out.print(e.getMessage());
            }
            return utilisateur;
        }
     
        public boolean insererUtilisateur(User utilisateur) {
            try {
                query = "INSERT INTO users (nom, email, password) VALUES (?, ?, ?)";
                pst = this.con.prepareStatement(query);
                pst.setString(1, utilisateur.getNom());
                pst.setString(2, utilisateur.getEmail());
                pst.setString(3, utilisateur.getMotDePasse());
     
                int lignesModifiees = pst.executeUpdate();
                return lignesModifiees > 0;
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.print(e.getMessage());
                return false;
            }
        }
    }
    J'ai vérifié que la table 'users' existe dans ma base de données et que les noms de colonnes correspondent au code. Cependant, je continue de recevoir l'erreur 'relation "users" does not exist'. Pouvez-vous m'aider à résoudre ce problème ?

  2. #2
    Membre très actif

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    486
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 486
    Billets dans le blog
    5

  3. #3
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut Problème lors de l'insertion de données dans la base de données
    Je fais face à un problème lors de l'insertion de données dans ma base de données. J'ai une application Web Java ee où je collecte des informations utilisateur et j'essaie de les enregistrer dans une base de données psql.

    Voici les détails de mon problème :

    J'utilise Java Servlets pour gérer la demande de l'utilisateur.
    J'ai créé une classe RegisterDAO pour gérer les opérations de base de données, et une classe User pour représenter les données utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    package com.account.Dao;
     
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
     
    public class RegisterDAO {
    	private Connection con;
    	private String query;
        private PreparedStatement pst;
        private ResultSet rs;
        public RegisterDAO(Connection con) {
    		this.con = con;
    	}
     
     
    	public boolean insertUsert(int id ,String email, String password, String name) {
            boolean result = false;
            try {
            	query = "insert into users (id, name, email, password) values (?, ?, ?, ?)";
                pst = this.con.prepareStatement(query);
                pst.setInt(1, id);
                pst.setString(2, name);
                pst.setString(3, email);
                pst.setString(4, password);
                pst.executeUpdate();
                result = true;
            } catch (SQLException e) {
                System.out.println(e.getMessage());
            }
            return result;
        }
    }
    Ma base de données est configurée correctement, et la connexion à la base de données fonctionne dans d'autres parties de l'application comme login avec des données inséré avec pgadmin ou cmd.
    Lorsque j'appelle la méthode insertUsert de la classe RegisterDAO pour insérer les données utilisateur, aucune exception n'est levée, mais les données ne sont pas insérées dans la base de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    package com.account.registration;
     
    import jakarta.servlet.ServletException;
    import jakarta.servlet.annotation.WebServlet;
    import jakarta.servlet.http.HttpServlet;
    import jakarta.servlet.http.HttpServletRequest;
    import jakarta.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
     
    import com.DB.connection.DbCon;
    import com.account.Dao.RegisterDAO;
    import com.account.Dao.UserDao;
    import com.account.bean.User;
     
     
    public class Registration extends HttpServlet {
        private static final long serialVersionUID = 1L;
     
        public Registration() {
            super();
        }
     
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            this.getServletContext().getRequestDispatcher("/WEB-INF/Registration.jsp").forward(request, response);
        }
     
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
        	response.setContentType("text/html;charset=UTF-8");
    		try(PrintWriter out=response.getWriter()){
    			String name = request.getParameter("name");
    	        String email = request.getParameter("email");
    	        String password = request.getParameter("psw");
    	        String passwordRepeat = request.getParameter("psw-repeat");
     
     
    	        RegisterDAO udao = new RegisterDAO(DbCon.getConnection());
     
    	        boolean result = udao.insertUsert(3 ,name, email, password);
     
    			if(result) {
    				out.println("register avec succès");
    				response.sendRedirect("/");
    			}else {
    				out.print("user not register try again");
    			}
    		}catch(ClassNotFoundException | SQLException e ){
    			e.printStackTrace();
    		}
     
        }
    J'ai vérifié la configuration de la base de données et la table users.

    Si quelqu'un a des idées sur ce qui pourrait ne pas fonctionner correctement, je serais reconnaissant pour toute aide. N'hésitez pas à demander des informations supplémentaires si nécessaire.

    Merci d'avance pour votre assistance.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 946
    Par défaut
    est-ce que la connexion (con) est en autocommit à true?

    sinon faut faire manuellement con.commit();

  5. #5
    Membre éclairé
    Homme Profil pro
    growth hacker
    Inscrit en
    Novembre 2018
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : growth hacker
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2018
    Messages : 187
    Par défaut
    Citation Envoyé par marc.collin Voir le message
    est-ce que la connexion (con) est en autocommit à true?

    sinon faut faire manuellement con.commit();
    JE PENSE QUE c'est le cas vu que je peux lister, mais pas insérer

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 946
    Par défaut
    Citation Envoyé par azaazz Voir le message
    JE PENSE QUE c'est le cas vu que je peux lister, mais pas insérer
    pas nécessairement

Discussions similaires

  1. Réponses: 7
    Dernier message: 05/10/2012, 09h56
  2. Réponses: 2
    Dernier message: 16/11/2005, 13h41
  3. Réponses: 1
    Dernier message: 23/10/2005, 00h55
  4. Réponses: 2
    Dernier message: 20/05/2005, 10h18
  5. copier une table vers une autre base de données
    Par Herveg dans le forum Oracle
    Réponses: 3
    Dernier message: 11/01/2005, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo