Java et base de donnée

Résolu
wafinette Messages postés 4 Date d'inscription vendredi 23 avril 2010 Statut Membre Dernière intervention 14 juin 2010 - 2 juin 2010 à 17:40
afaf2006 Messages postés 37 Date d'inscription mardi 14 mars 2006 Statut Membre Dernière intervention 25 juin 2010 - 25 juin 2010 à 17:46
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

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
2 juin 2010 à 18:23
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.
3
wafinette Messages postés 4 Date d'inscription vendredi 23 avril 2010 Statut Membre Dernière intervention 14 juin 2010
3 juin 2010 à 11:56
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
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
3 juin 2010 à 19:03
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.
3
wafinette Messages postés 4 Date d'inscription vendredi 23 avril 2010 Statut Membre Dernière intervention 14 juin 2010
4 juin 2010 à 11:56
//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
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
afaf2006 Messages postés 37 Date d'inscription mardi 14 mars 2006 Statut Membre Dernière intervention 25 juin 2010
25 juin 2010 à 17:42
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
0
afaf2006 Messages postés 37 Date d'inscription mardi 14 mars 2006 Statut Membre Dernière intervention 25 juin 2010
25 juin 2010 à 17:46
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
0
Rejoignez-nous