Problème dans l'insertion dans la base de donnée
Résolu/Fermé
amanaxy
Messages postés
7
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
25 mars 2016
-
5 déc. 2015 à 13:25
amanaxy Messages postés 7 Date d'inscription samedi 5 décembre 2015 Statut Membre Dernière intervention 25 mars 2016 - 5 déc. 2015 à 15:03
amanaxy Messages postés 7 Date d'inscription samedi 5 décembre 2015 Statut Membre Dernière intervention 25 mars 2016 - 5 déc. 2015 à 15:03
A voir également:
- Problème dans l'insertion dans la base de donnée
- Formules excel de base - Guide
- Insertion liste déroulante excel - Guide
- Gigaset a170h problème base ✓ - Forum telephonie fixe
- Germain veut gérer les activités de son association avec une base de données. il a commencé à créer des tables dans un fichier, mais il n’est pas sûr du résultat. le fichier à télécharger contient uniquement le schéma de cette base de données. en l’état actuel, que peut-on en déduire ? - Forum Outlook
- Insertion signature word - Guide
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
5 déc. 2015 à 14:21
5 déc. 2015 à 14:21
Bonjour,
Est-ce que tu peux nous mettre ta classe Voyageur, pour en particulier voir le lien entre
Est-ce que tu peux nous mettre ta classe Voyageur, pour en particulier voir le lien entre
new Voyageur(458945, ...et
r.getVoyageur().getIdVoyageur()...
amanaxy
Messages postés
7
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
25 mars 2016
5 déc. 2015 à 14:28
5 déc. 2015 à 14:28
voici la classe voyageur
voici le DAO de la classe voyageur
et le DAO de la classe réservation
public class Voyageur {
private int idVoyageur;
private int cin;
private String nom;
private String prenom;
private String sexe;
private String adresse;
private Date date_naissance;
private int numero_telephone;
private String login;
private String password;
private String email;
public Voyageur(){
}
public Voyageur(int idVoyageur,int cin,String nom,String prenom,String sexe,String adresse,Date date_naissance,int numero_telephone,String login,String password,String email)
{
this.idVoyageur=idVoyageur;
this.cin=cin;
this.nom=nom;
this.prenom=prenom;
this.sexe=sexe;
this.adresse=adresse;
this.date_naissance=date_naissance;
this.numero_telephone=numero_telephone;
this.login=login;
this.password=password;
this.email=email;
}
public Voyageur(int cin,String nom,String prenom,String sexe,String adresse,Date date_naissance,int numero_telephone,String login,String password,String email)
{
this.nom=nom;
this.cin=cin;
this.prenom=prenom;
this.sexe=sexe;
this.adresse=adresse;
this.date_naissance=date_naissance;
this.numero_telephone=numero_telephone;
this.login=login;
this.password=password;
this.email=email;
}
@Override
public String toString() {
return "voyageur{" + "idVoyageur=" + idVoyageur+ ", nom=" + nom + ", prenom=" + prenom+ ", sexe"+sexe+ ", adresse=" + adresse+ ", date_naissance=" + date_naissance + ", numero_telephone=" + numero_telephone+ ", login=" + login + ", password=" + password+ ", email"+email+ '}';
}
public int getIdVoyageur() {
return idVoyageur;
}
public void setIdVoyageur(int idVoyageur) {
this.idVoyageur = idVoyageur;
}
public int getCin() {
return cin;
}
public void setCin(int cin) {
this.cin = cin;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getSexe() {
return sexe;
}
public void setSexe(String sexe) {
this.sexe = sexe;
}
public String getAdresse() {
return adresse;
}
public void setAdresse(String adresse) {
this.adresse = adresse;
}
public Date getDate_naissance() {
return date_naissance;
}
public void setDate_naissance(Date date_naissance) {
this.date_naissance = date_naissance;
}
public int getNumero_telephone() {
return numero_telephone;
}
public void setNumero_telephone(int numero_telephone) {
this.numero_telephone = numero_telephone;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
voici le DAO de la classe voyageur
public class VoyageurDAO implements VoyageurIDAO{
private Connection con = MaConnection.getInstance();
private String requete;
PreparedStatement ps;
@Override
public void supprimerVoyageur(int idV) {
requete = "delete from voyageur where idV=?";
try {
ps = con.prepareStatement(requete);
ps.setInt(1,idV);
int res = ps.executeUpdate();
if (res != 0) {
System.out.println("Voyageur a été suuprimé avec succée :) ");
}
} catch (SQLException ex) {
System.out.println("Echec de suppression ! " + ex.getMessage());
}
}
@Override
public void modifierVoyageur(Voyageur v) {
String sql = "update voyageur set idV=?, cin=?,nom=?, prenom=?, sexe=?, adresse=?, date_naissance=?, numero_telephone=?, login=?, password=?, email=? where idV=" + v.getIdVoyageur();
try {
ps = con.prepareStatement(sql);
ps.setInt(1, v.getIdVoyageur());
ps.setInt(2, v.getCin());
ps.setString(3, v.getNom());
ps.setString(4, v.getPrenom());
ps.setString(5, v.getSexe());
ps.setString(6, v.getAdresse());
ps.setDate(7, v.getDate_naissance());
ps.setInt(8, v. getNumero_telephone());
ps.setString(9, v.getLogin());
ps.setString(10, v.getPassword());
ps.setString(11, v. getEmail());
int res = ps.executeUpdate();
if (res != 0) {
System.out.println("Mise à jour effectuée avec succès :) ");
}
} catch (SQLException ex) {
System.out.println("Echec de la mise à jour ! " + ex.getMessage());
}
}
@Override
public Voyageur getVoyageurById(int idV) {
String requete = "select * from voyageur where idV=?";
Voyageur v = null;
try {
PreparedStatement ps = con.prepareStatement(requete);
ps.setInt(1, idV);
ResultSet res = ps.executeQuery();
if (res.next()) {
v= new Voyageur(res.getInt("idV"), res.getInt("cin"), res.getString("nom"), res.getString("prenom"),res.getString("sexe"), res.getString("adresse"), res.getDate("date_naissance"), res.getInt("numero_telephone"),res.getString("login"), res.getString("password"), res.getString("email") );
}
return v;
} catch (SQLException ex) {
System.out.println("Echec d'affichege de ce VOYAGEUR! " + ex.getMessage());
return null;
}
}
@Override
public void ajouterVoyageur(Voyageur v) {
requete = "insert into voyageur (cin,nom,prenom,sexe,adresse,date_naissance,numero_telephone,login,password,email) values(?,?,?,?,?,?,?,?,?,?)";
try {
PreparedStatement ps=con.prepareStatement(requete);
ps.setInt(1, v.getCin());
System.out.println("mmmmmmmmmmmm"+v.getCin());
ps.setString(2, v.getNom());
ps.setString(3, v.getPrenom());
ps.setString(4, v.getSexe());
ps.setString(5, v.getAdresse());
ps.setDate(6, v.getDate_naissance());
ps.setInt(7, v.getNumero_telephone());
ps.setString(8, v.getLogin());
ps.setString(9, v.getPassword());
ps.setString(10, v.getEmail());
ps.executeUpdate();
System.out.println("Voyageur ajoutée");
} catch (SQLException ex) {
System.out.println(ex);
}
}
@Override
public List<Voyageur> afficher() {
List<Voyageur> voyageurs = new ArrayList<Voyageur>();
Voyageur v = null;
requete = "select * from voyageur";
try {
ps = con.prepareStatement(requete);
ResultSet res = ps.executeQuery();
while (res.next()) {
v= new Voyageur(res.getInt("idV"), res.getInt("cin"), res.getString("nom"), res.getString("prenom"),res.getString("sexe"), res.getString("adresse"), res.getDate("date_naissance"), res.getInt("numero_telephone"),res.getString("login"), res.getString("password"), res.getString("email") );
voyageurs.add(v);
}
} catch (SQLException ex) {
System.out.println("Echec d'affichage de la liste des voyageurs ! " + ex.getMessage());
}
return voyageurs;
}
}
et le DAO de la classe réservation
public class ReservationDAO implements ReservationIDAO{
private Connection con = MaConnection.getInstance();
private String requete;
PreparedStatement ps;
@Override
public void ajouterReservation(Reservation r) {
requete = "insert into reservation (billet,tarif,id_Voyageur) values(?,?,?)";
try {
PreparedStatement ps=con.prepareStatement(requete);
ps.setString(1, r.getBillet());
ps.setFloat(2, r.getTarif());
ps.setInt(3, r.getVoyageur().getIdVoyageur());
ps.executeUpdate();
System.out.println("Réservation ajoutée");
} catch (SQLException ex) {
System.out.println(ex);
}
}
@Override
public void supprimerReservation(int id_Reservation) {
requete = "delete from reservation where id_Reservation=?";
try {
ps = con.prepareStatement(requete);
ps.setInt(1, id_Reservation);
int res = ps.executeUpdate();
if (res != 0) {
System.out.println("Réservation a été suuprimé avec succée :) ");
}
} catch (SQLException ex) {
System.out.println("Echec de suppression ! " + ex.getMessage());
}
}
@Override
public void modifierReservation(Reservation r) {
String sql = "update reservation set billet=?,tarif=? where id_Reservation=" + r.getIdReservation();
try {
ps = con.prepareStatement(sql);
ps.setString(2, r.getBillet());
ps.setFloat(3, r.getTarif());
ps.setInt(4, r.getVoyageur().getIdVoyageur());
int res = ps.executeUpdate();
if (res != 0) {
System.out.println("Mise à jour effectuée avec succès :) ");
}
} catch (SQLException ex) {
System.out.println("Echec de la mise à jour ! " + ex.getMessage());
}
}
@Override
public Reservation getReservationById(int id_Reservation) {
String requete = "select * from reservation where id_Reservation=?";
Reservation r = null;
VoyageurDAO vd=new VoyageurDAO();
try {
PreparedStatement ps = con.prepareStatement(requete);
ps.setInt(1, id_Reservation);
ResultSet res = ps.executeQuery();
if (res.next()) {
r= new Reservation(res.getInt("id_reservation"), res.getString("billet"), res.getFloat("tarif"), vd.getVoyageurById(res.getInt("id_Voyageur")));
}
return r;
} catch (SQLException ex) {
System.out.println("Echec d'affichege de cette réservation ! " + ex.getMessage());
return null;
}
}
@Override
public List<Reservation> afficher() {
List<Reservation> reservations = new ArrayList<Reservation>();
Reservation r = null;
VoyageurDAO vd=new VoyageurDAO();
requete = "select * from reservation";
try {
ps = con.prepareStatement(requete);
ResultSet res = ps.executeQuery();
while (res.next()) {
r= new Reservation(res.getInt("id_Reservation"), res.getString("billet"), res.getFloat("tarif"),vd.getVoyageurById( res.getInt("id_Voyageur")));
reservations.add(r);
}
} catch (SQLException ex) {
System.out.println("Echec d'affichage de la liste des réservations ! " + ex.getMessage());
}
return reservations;
}
}
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
5 déc. 2015 à 14:37
5 déc. 2015 à 14:37
Quand tu fais
Tu devrais utiliser ton premier constructeur
new Voyageur(458945, "k", "s", "f", "ar", d, 94, "s ", "s", "mail");c'est le constructeur
public Voyageur(int cin,String nom...)que tu utilises, et il n'y a pas de gestion de l'identifiant du voyageur, qui vaut 0 par défaut.
Tu devrais utiliser ton premier constructeur
public Voyageur(int idVoyageur,int cin,String nom...)ou la méthode
setIdVoyageurpour corriger le problème.
amanaxy
Messages postés
7
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
25 mars 2016
5 déc. 2015 à 14:42
5 déc. 2015 à 14:42
oui mais j'ai fait dans la table voyageur l'idVoyageur Auto_Increment
donc je peux utiliser le constructeur public Voyageur(int cin, String nom...)
donc je peux utiliser le constructeur public Voyageur(int cin, String nom...)
amanaxy
Messages postés
7
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
25 mars 2016
5 déc. 2015 à 14:43
5 déc. 2015 à 14:43
et le problème c'est dans la table réservation il prend toujours l'idvoyageur 0
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
5 déc. 2015 à 14:55
5 déc. 2015 à 14:55
Si tu fais l'auto incrément alors il ne faut pas faire
Par contre l'auto incrément devrait fonctionner avec
insert into reservation (billet,tarif,id_Voyageur) values(?,?,?)parce que id_Voyageur est mis à 0 avec
ps.setInt(3, r.getVoyageur().getIdVoyageur());puisque
idVoyageur=0...
Par contre l'auto incrément devrait fonctionner avec
insert into reservation (billet,tarif) values(?,?), dans ce cas idVoyageur ne sera pas pris en compte (même s'il est différent de 0...)
amanaxy
Messages postés
7
Date d'inscription
samedi 5 décembre 2015
Statut
Membre
Dernière intervention
25 mars 2016
5 déc. 2015 à 15:03
5 déc. 2015 à 15:03
ok merci :)))