Java et base de donnée [Résolu]

Signaler
Messages postés
4
Date d'inscription
vendredi 23 avril 2010
Statut
Membre
Dernière intervention
14 juin 2010
-
afaf2006
Messages postés
37
Date d'inscription
mardi 14 mars 2006
Statut
Membre
Dernière intervention
25 juin 2010
-
salut ,
euuh je suis débutante en java et je doit réaliser une application comme suite:

je crée une interface avec un JTable où j'insère des données et quand je clique sur un bouton ces données vont directement être enregistrées dans ma base de données dans access .
bon j'ai créer l'intérface mais j'arrive pas à la connécté ac ma base et comment générer ceci ac un JTable ?? besoin de votre aide le plus vite possiiible mercii d'av

6 réponses

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
259
Je pense que tu trouveras facilement des classes qui te permettent d'accéder à une base de données acces. Tu peux jeter un oeil ici http://www.commentcamarche.net/contents/java/javajdbc.php3.

Pour envoyer ta table dans la base de données, il va falloir faire une boucle et executer les requetes d'ajout d'une observation
"INSERT INTO table VALUES('"+tableau[i,0]+"','"+tableau[i,1]...
Petite remarque attention aux valeurs qui ne sont pas numériques, il ne faut pas oublier de mettre des cotes.
Messages postés
4
Date d'inscription
vendredi 23 avril 2010
Statut
Membre
Dernière intervention
14 juin 2010

voila mon code pr la requete



String pilote = "sun.jdbc.odbc.JdbcOdbcDriver";//DRIVER
String host = "jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb); DBQ=C:/budgett.mdb; ";//PATH
String login = "";// USER
String pw = "";//PASSWORD
String requete="INSERT INTO budget VALUES("+table[i,0]+","+table[i,1]+","+table[i,2]+","+table[i,3]+","+table[i,4]+")";

mais je sais pas pk ça m'indique une erreur entre les i et les nombres????

merci de m'aider
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
259
Je crois que je me suis un peu planté dans la syntaxe, c'est table[i][0]

Si ca ne marche pas, est ce que tu pourrais me donner un code un peu plus complet, avec au moins la déclaration de ta JTable.
Messages postés
4
Date d'inscription
vendredi 23 avril 2010
Statut
Membre
Dernière intervention
14 juin 2010

//salut bon voila tt le code :
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;



class testJTable extends JFrame implements ActionListener{

private static final int x = 500;
private static final int y = 500;
public JTextField textRequete;
public JTable table ;
Boolean maj;
// définition de l'instance du modèle de données.
// héritant de la classe AbstractTableModel
JDBCAdapter dataBase;

// définitions des paramètres de connexion....
String pilote = "sun.jdbc.odbc.JdbcOdbcDriver";//DRIVER
String host = "jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb); DBQ=C:/budgett.mdb; ";//PATH
String login = "";// USER
String pw = "";//PASSWORD
String requete=c'est le ke je dois mettre ma requete;
//"INSERT INTO budget VALUES("+table[i][0]+","+table[i][1]+","+table[i][2]+","+table[i][3]+","+table[i][4]+)"";
// Constructeur....
public testJTable(){

JPanel panel = new JPanel(new BorderLayout());
JTable table = new JTable();
JScrollPane JSP = new JScrollPane(table);
JSP.setPreferredSize(new Dimension(x,y));
panel.add(JSP,BorderLayout.CENTER);

textRequete = new JTextField();
textRequete.setForeground(Color.blue);
textRequete.setBackground(Color.white);

textRequete .addActionListener(this);
panel.add(textRequete , BorderLayout.SOUTH);

getContentPane().add(panel);

//textRequete .setText(requete);


// création du modèle de données.
// suivant le paramètres de connection
// à la base de donnée Access.
dataBase = new JDBCAdapter(
pilote,
host,
login,
pw);

// exécution de la requete sql
// (et initialisatin du modele de données)
dataBase.executeQuery(requete);
// affectation du modèle à la JTable
table.setModel(dataBase);

// affichage
setTitle("JTable et Access");
setSize(x,y);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

pack();
show();

}

// écouteur du champ textRequete (détecte un Return )
public void actionPerformed(ActionEvent e)
{
if (e.getSource().equals(textRequete ))
{

dataBase.executeQuery(requete);

}
}
public static void main(String[] args) {
testJTable act=new testJTable();
act.setVisible(true);
}
}

//euh si vous trouver comment faire .... merci d'av
Messages postés
37
Date d'inscription
mardi 14 mars 2006
Statut
Membre
Dernière intervention
25 juin 2010

de la part de afaf
tu dois implanter package
import java.sql.*;
puis
public class afaf{
pulic static void main(string args[]){
conncetion con=null;
statement st=null;
resultset res=nul;
class.forname("sun.jdbc.odbc.odbcdrivermanager");
apres
con.coonection=drivermnager.getconnection("jdbc:odbc:tabasedeconne la source");
apres
string a="select *from ta table""
ou insert into table values ("")
si tu met 1ere res=st.executequery(a);
la 2eme meme delete res=st.executeupdate(a)
apres
tu freme tt
con.close
st.clsoe
fini les guilements important
mais import
java.sql.*;
si ce qui te manque
de ma part afaf2006
Messages postés
37
Date d'inscription
mardi 14 mars 2006
Statut
Membre
Dernière intervention
25 juin 2010

apprend premieremnt abse donée noramle
jtable
pour la daire 1ere ment
import javax.swing.*;
t'as un chekbox met le
dans le clique
met ta requete
qaudn tu choisras numero client affichera avce le progarmme donée