Rechercher : dans
Par :

Probleme d insertion BD Mysql depuis java

Dernière réponse le 26 jun 2009 à 17:16:43 Nspider, le 20 mai 2008 à 14:22:50 
 Signaler ce message aux modérateurs

Bonjour,
Dans la conception de mon application graphique en java; je reussi bien à me connecté à la base. Mais j'aimerai faire des insertions depuis l'interface graphique. Comment fait on une insertion dans une base de données depuis un programme Java?
Merci de votre réponse

Configuration: Windows XP
Firefox 2.0.0.12

1

=[Cvrd]=Tassin, le 20 mai 2008 à 15:01:14

Il faut que tu utilises une connexion JDBC avec ta base de données. Regarde ce site pour une explication : http://www.kryskool.org/... -- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

2

Nspider, le 22 mai 2008 à 17:28:56

Merci Tassin pour ton aide.
Mais mon probleme subsite car j'ai déja pu me connecter à la BD et exécuté une requete select. Ce sont les requetes d'insertions qui me posent des problemes.
Peut tu m'aider pour cela.
Merci

Répondre à Nspider

3

=[Cvrd]=Tassin, le 23 mai 2008 à 09:59:29

Salut,

Utilises la méthode executeUpdate() de la classe Statement, petit exemple :

Statement stmt = con.createStatement();
stmt.executeUpdate("insert into employee  " +  "values(1,'R',5500 )");
-- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

4

Nspider, le 26 mai 2008 à 17:11:28
  • +1

Salut Alex et merci pour ton aide.
En mon interface graphique est en MVC ( Modele Vue Controleur). Je doit donc faire passer les données à inserer de la vue au modele via le controleur. C'est le modele qui est connecté à la base et qui assure l'enregistrement.
Je te transmets le code que j'ai écrit.


1-Pour le modele
package bandeModel;



import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;



import javax.swing.JTextField;



import bandeVue.ajoutmodifutilVue;



public class ajoutmodifutilModel {



public ajoutmodifutilModel() {

}



public void insertion(JTextField field, JTextField field2, JTextField field3, JTextField field4, JTextField field5){



String pilote = "com.mysql.jdbc.Driver";



try{

Class.forName(pilote);



Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/basebande","root","");



Statement instruction = connexion.createStatement();



int rs = instruction.executeUpdate("insert into utilisateurs(nom,prenom,login,password,profil) values('field','field2','field3','field4','field5')");



}

catch (Exception e){



System.out.println("echec pilote : "+e);

}



}



//lancement de l'insertion

public static void main(String args[]){

ajoutmodifutilModel model=new ajoutmodifutilModel();

ajoutmodifutilVue vue=new ajoutmodifutilVue(model);

vue.setVisible(true);

}















}



2-
Pour la vue:
package bandeVue;



import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.GridLayout;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextField;

import javax.swing.JToggleButton;

import javax.swing.SwingConstants;

import javax.swing.border.MatteBorder;



import bandeControleur.ajoutmodifutilControleur;

import bandeModel.ajoutmodifutilModel;



public class ajoutmodifutilVue extends JFrame {



private ajoutmodifutilControleur controleur;

private ajoutmodifutilModel model;



private JTextField proField;

private JTextField passField;

private JTextField loginField;

private JTextField prenomField;

private JTextField nomField;

/**

* Launch the application

* @param args



public static void main(String args[]) {

try {

ajoutmodifutilVue frame = new ajoutmodifutilVue();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}*/



/**

* Create the frame

*/

public ajoutmodifutilVue(ajoutmodifutilModel model) {

super();

this.model=model;

ajoutmodifutilControleur controleur=new ajoutmodifutilControleur(this,model);



getContentPane().setLayout(new GridLayout(6, 0));

setBackground(new Color(100, 149, 237));

setTitle("Ajout ou modification d'un utilisateur");

setBounds(100, 100, 509, 366);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



final JLabel nomLabel = new JLabel();

nomLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));

nomLabel.setHorizontalAlignment(SwingConstants.CENTER);

nomLabel.setBackground(new Color(135, 206, 235));

nomLabel.setText("Nom");

getContentPane().add(nomLabel);



nomField = new JTextField();

getContentPane().add(nomField);



final JLabel prenomLabel = new JLabel();

prenomLabel.setHorizontalAlignment(SwingConstants.CENTER);

prenomLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));

prenomLabel.setBackground(new Color(135, 206, 235));

prenomLabel.setText("Prenom");

getContentPane().add(prenomLabel);



prenomField = new JTextField();

getContentPane().add(prenomField);



final JLabel loginLabel = new JLabel();

loginLabel.setHorizontalAlignment(SwingConstants.CENTER);

loginLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));

loginLabel.setBackground(new Color(135, 206, 235));

loginLabel.setText("Login");

getContentPane().add(loginLabel);



loginField = new JTextField();

getContentPane().add(loginField);



final JLabel passwordLabel = new JLabel();

passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);

passwordLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));

passwordLabel.setBackground(new Color(135, 206, 235));

passwordLabel.setText("Password");

getContentPane().add(passwordLabel);



passField = new JTextField();

getContentPane().add(passField);



final JLabel profilLabel = new JLabel();

profilLabel.setHorizontalAlignment(SwingConstants.CENTER);

profilLabel.setFont(new Font("@Arial Unicode MS", Font.BOLD, 16));

profilLabel.setBackground(new Color(135, 206, 235));

profilLabel.setText("Profil");

getContentPane().add(profilLabel);



proField = new JTextField();

getContentPane().add(proField);



final JToggleButton validerBut = new JToggleButton();

validerBut.setBorder(new MatteBorder(0, 0, 0, 0, Color.black));

validerBut.setMaximumSize(new Dimension(100, 50));

validerBut.setFont(new Font("@Arial Unicode MS", Font.BOLD, 28));

validerBut.setBackground(new Color(102, 205, 170));

validerBut.setActionCommand("valider");

validerBut.setText("Valider");

validerBut.addActionListener(controleur);

getContentPane().add(validerBut);



final JToggleButton annulerBut = new JToggleButton();

annulerBut.setFont(new Font("@Arial Unicode MS", Font.BOLD, 28));

annulerBut.setBackground(new Color(255, 69, 0));

annulerBut.setActionCommand("annuler");

annulerBut.setText("Annuler");

annulerBut.addActionListener(controleur);

getContentPane().add(annulerBut);

//

}



public JTextField getLoginField() {

return loginField;

}



public void setLoginField(JTextField loginField) {

this.loginField = loginField;

}



public JTextField getNomField() {

return nomField;

}



public void setNomField(JTextField nomField) {

this.nomField = nomField;

}



public JTextField getPassField() {

return passField;

}



public void setPassField(JTextField passField) {

this.passField = passField;

}



public JTextField getPrenomField() {

return prenomField;

}



public void setPrenomField(JTextField prenomField) {

this.prenomField = prenomField;

}



public JTextField getProField() {

return proField;

}



public void setProField(JTextField proField) {

this.proField = proField;

}





}


3- Pour le controleur:
package bandeControleur;



import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;



import javax.swing.JTextField;



import bandeModel.ajoutmodifutilModel;

import bandeVue.ajoutmodifutilVue;



public class ajoutmodifutilControleur implements ActionListener {



private ajoutmodifutilVue vue;

private ajoutmodifutilModel model;







//constructeur de la classe ajoutmodifutilControleur

public ajoutmodifutilControleur(ajoutmodifutilVue vue, ajoutmodifutilModel model){



this.model=model;

this.vue=vue;





}



public void actionPerformed(ActionEvent e){

if( e.getActionCommand()== "valider"){

model.insertion(vue.getNomField(),vue.getPrenomField(),vue.getLoginField(),vue.getPassField(),vue.getProField());

vue.setVisible(false);

}



}





}


Merci pour tes suggestions

Répondre à Nspider

5

sandul, le 26 mai 2008 à 18:17:50
  • +1

Salut,
Ajoute une connexion.commit() après ton executeUpdate(), ça va aider.
à+

Répondre à sandul

6

 justice4all, le 26 jun 2009 à 17:16:43

Lol merci mon pote c'est un tres bon travail bien expliquer bien organisé merci infiniment

Répondre à justice4all