salut, au fait je veux creer un tableau JTABLE qui recupère le
resultat de deux requetes:
je m explique : il faut que j'ai dans le tableau une colonne issu d'une
table "etudiant" et les autres colonnes des "titres" des matières
etudiés pourque je puisse faire un etat à la fin!
le prolème c'est que quand j execute la seconde requetes, le resulta t
de la premère est effacé!!
et je meretrouve avec une seule partie!
salut, au fait je veux creer un tableau JTABLE qui recupère le
resultat de deux requetes:
je m explique : il faut que j'ai dans le tableau une colonne issu d'une
table "etudiant" et les autres colonnes des "titres" des matières
etudiés pourque je puisse faire un etat à la fin!
le prolème c'est que quand j execute la seconde requetes, le resulta t
de la premère est effacé!!
et je meretrouve avec une seule partie!
salut, au fait je veux creer un tableau JTABLE qui recupère le
resultat de deux requetes:
je m explique : il faut que j'ai dans le tableau une colonne issu d'une
table "etudiant" et les autres colonnes des "titres" des matières
etudiés pourque je puisse faire un etat à la fin!
le prolème c'est que quand j execute la seconde requetes, le resulta t
de la premère est effacé!!
et je meretrouve avec une seule partie!
merci pour cette reponse si vite, je m explique
je recupère le resultat d'une requete SQL depuis une base access pour
le moment.
je dois avoir une colonne portant le ID des etudiants et dans les
colonnes qui suit les noms des matières etudiés pour pouvoir mettre
à jour le nombre d'absence dans chaque matières
String requete="SELECT CD_ETU FROM ETDIANT ;";
String requete="SELECT CD_MAT from MATIERE WHERE semestre=1; ";
mais moi j'arrive à executer qu'une seule requetes au fait c'est la
première vici une vue sur le code :
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import javax.swing.event.TableModelEvent;
/**
* @author dt_web
* @since 09.01.2006
*
* cette classe permet en plus de l'affichage d'une base de donnée
access
* dans une JTable de l'actualiser par l'envoi de requête sql.
* je me suis servi pour cela de la classe JDBCAdapter.java
* que j'ai emprunté dans la section du
jdk1.5.0_06demojfcTableExample
*
*/
public class testJTable {
public static void main (String[] args){
// constructeur principal
new principale();
}
}
class principale extends JFrame implements MouseListener{
private static final int x = 500;
private static final int y = 500;
private JTree tree;
private JLabel celluleclic;
public JPanel panel = new JPanel(new BorderLayout());
public JTable table = new JTable();
public JScrollPane JSP = new JScrollPane(table);
public JMenu jMenu_Etudiant = new JMenu();
public JTextField textRequete;
public DefaultMutableTreeNode root, node1, node2, node3;
// 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:ecole; ";//PATH
String login = "";// USER
String pw = "";//PASSWORD
//String requete="SELECT CD_ETU FROM ETDIANT ;";
String requete="SELECT CD_MAT from MATIERE WHERE semestre=1; ";
// Constructeur....
public principale(){
BorderLayout borderLayout1 = new BorderLayout();
panel = (JPanel) this.getContentPane();
panel.setLayout(borderLayout1);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(x,y);
this.setTitle("
" +
" ESTI ABSENCE ");
jMenu_Etudiant.setMnemonic('E');
jMenu_Etudiant.setText("MENU");
JMenuBar jMenuBar1 = new JMenuBar();
jMenuBar1.add(jMenu_Etudiant);
this.setJMenuBar(jMenuBar1);
/* une arboresence de JTREE pour chercher
le groupe le depart la classe de l'etudiant*/
root = new DefaultMutableTreeNode("ESTI", true);
node1 = new DefaultMutableTreeNode("node 1", true);
node2 = new DefaultMutableTreeNode("node 2" , true);
node3 = new DefaultMutableTreeNode("node 3" , true);
root.add(node1);
node1.add(node2);
root.add(node3);
tree=new JTree(root);
tree.setPreferredSize(new Dimension(100,y));
panel.add(tree,BorderLayout.WEST);
JSP.setPreferredSize(new Dimension(x,y));
panel.add(JSP,BorderLayout.CENTER);
// 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
this.table.setModel(dataBase);
////////////////////////////////////////
/*pour modifier le contenu d'une cellule et mettre à jour la base en
meme temps*/
this.table.addMouseListener (this);
this.celluleclic = new JLabel (" ligne : colonne : ");
this.getContentPane ().add (this.celluleclic, BorderLayout.SOUTH);
///////////////////////////////
pack();
show();
}
public void mouseClicked(MouseEvent e) {
Point p = e.getPoint ();
int colonne = this.table.columnAtPoint (p)+1;
int ligne = this.table.rowAtPoint (p)+1;
// si la souris n'a pas clic sur une cellule :
if ( (0 == colonne) || (0 == ligne) )
{
this.celluleclic.setText (" Pas de Cellule selectionée ");
}
else
{
this.celluleclic.setText (" ligne : "+ligne+" colonne :
"+colonne);
while(true){
Object value=this.table.getValueAt(ligne,colonne);
this.table.setValueAt(value,ligne,colonne);}
//this.table.editCellAt(row, col);
//this.table.getEditorComponent().requestFocus();
}
}
public void mouseExited (MouseEvent e) { }
public void mousePressed (MouseEvent e) { }
public void mouseReleased (MouseEvent e) { }
public void mouseEntered (MouseEvent e) { }
// écouteur du champ textRequete (détecte un Return )
public void actionPerformed(ActionEvent e) {
if (e.getSource() == node1) System.out.println("b1............");
if (e.getSource() == node2) System.out.println("b2............" );
if (e.getSource() == node3) System.out.println("b3............" );
if (e.getSource().equals(textRequete )) {
dataBase.executeQuery(textRequete .getText());
System.out.println("requete............");
}
}
}
Si tu me propose une autre manière de travail au liue de JTABLE
n'h"site surtout pas pourvu que je termine cette partie l me reste du
travail!
c'est pour mon projet de fin d'etude et je galère déjà :(
merci infiniment!
merci pour cette reponse si vite, je m explique
je recupère le resultat d'une requete SQL depuis une base access pour
le moment.
je dois avoir une colonne portant le ID des etudiants et dans les
colonnes qui suit les noms des matières etudiés pour pouvoir mettre
à jour le nombre d'absence dans chaque matières
String requete="SELECT CD_ETU FROM ETDIANT ;";
String requete="SELECT CD_MAT from MATIERE WHERE semestre=1; ";
mais moi j'arrive à executer qu'une seule requetes au fait c'est la
première vici une vue sur le code :
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import javax.swing.event.TableModelEvent;
/**
* @author dt_web
* @since 09.01.2006
*
* cette classe permet en plus de l'affichage d'une base de donnée
access
* dans une JTable de l'actualiser par l'envoi de requête sql.
* je me suis servi pour cela de la classe JDBCAdapter.java
* que j'ai emprunté dans la section du
jdk1.5.0_06demojfcTableExample
*
*/
public class testJTable {
public static void main (String[] args){
// constructeur principal
new principale();
}
}
class principale extends JFrame implements MouseListener{
private static final int x = 500;
private static final int y = 500;
private JTree tree;
private JLabel celluleclic;
public JPanel panel = new JPanel(new BorderLayout());
public JTable table = new JTable();
public JScrollPane JSP = new JScrollPane(table);
public JMenu jMenu_Etudiant = new JMenu();
public JTextField textRequete;
public DefaultMutableTreeNode root, node1, node2, node3;
// 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:ecole; ";//PATH
String login = "";// USER
String pw = "";//PASSWORD
//String requete="SELECT CD_ETU FROM ETDIANT ;";
String requete="SELECT CD_MAT from MATIERE WHERE semestre=1; ";
// Constructeur....
public principale(){
BorderLayout borderLayout1 = new BorderLayout();
panel = (JPanel) this.getContentPane();
panel.setLayout(borderLayout1);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(x,y);
this.setTitle("
" +
" ESTI ABSENCE ");
jMenu_Etudiant.setMnemonic('E');
jMenu_Etudiant.setText("MENU");
JMenuBar jMenuBar1 = new JMenuBar();
jMenuBar1.add(jMenu_Etudiant);
this.setJMenuBar(jMenuBar1);
/* une arboresence de JTREE pour chercher
le groupe le depart la classe de l'etudiant*/
root = new DefaultMutableTreeNode("ESTI", true);
node1 = new DefaultMutableTreeNode("node 1", true);
node2 = new DefaultMutableTreeNode("node 2" , true);
node3 = new DefaultMutableTreeNode("node 3" , true);
root.add(node1);
node1.add(node2);
root.add(node3);
tree=new JTree(root);
tree.setPreferredSize(new Dimension(100,y));
panel.add(tree,BorderLayout.WEST);
JSP.setPreferredSize(new Dimension(x,y));
panel.add(JSP,BorderLayout.CENTER);
// 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
this.table.setModel(dataBase);
////////////////////////////////////////
/*pour modifier le contenu d'une cellule et mettre à jour la base en
meme temps*/
this.table.addMouseListener (this);
this.celluleclic = new JLabel (" ligne : colonne : ");
this.getContentPane ().add (this.celluleclic, BorderLayout.SOUTH);
///////////////////////////////
pack();
show();
}
public void mouseClicked(MouseEvent e) {
Point p = e.getPoint ();
int colonne = this.table.columnAtPoint (p)+1;
int ligne = this.table.rowAtPoint (p)+1;
// si la souris n'a pas clic sur une cellule :
if ( (0 == colonne) || (0 == ligne) )
{
this.celluleclic.setText (" Pas de Cellule selectionée ");
}
else
{
this.celluleclic.setText (" ligne : "+ligne+" colonne :
"+colonne);
while(true){
Object value=this.table.getValueAt(ligne,colonne);
this.table.setValueAt(value,ligne,colonne);}
//this.table.editCellAt(row, col);
//this.table.getEditorComponent().requestFocus();
}
}
public void mouseExited (MouseEvent e) { }
public void mousePressed (MouseEvent e) { }
public void mouseReleased (MouseEvent e) { }
public void mouseEntered (MouseEvent e) { }
// écouteur du champ textRequete (détecte un Return )
public void actionPerformed(ActionEvent e) {
if (e.getSource() == node1) System.out.println("b1............");
if (e.getSource() == node2) System.out.println("b2............" );
if (e.getSource() == node3) System.out.println("b3............" );
if (e.getSource().equals(textRequete )) {
dataBase.executeQuery(textRequete .getText());
System.out.println("requete............");
}
}
}
Si tu me propose une autre manière de travail au liue de JTABLE
n'h"site surtout pas pourvu que je termine cette partie l me reste du
travail!
c'est pour mon projet de fin d'etude et je galère déjà :(
merci infiniment!
merci pour cette reponse si vite, je m explique
je recupère le resultat d'une requete SQL depuis une base access pour
le moment.
je dois avoir une colonne portant le ID des etudiants et dans les
colonnes qui suit les noms des matières etudiés pour pouvoir mettre
à jour le nombre d'absence dans chaque matières
String requete="SELECT CD_ETU FROM ETDIANT ;";
String requete="SELECT CD_MAT from MATIERE WHERE semestre=1; ";
mais moi j'arrive à executer qu'une seule requetes au fait c'est la
première vici une vue sur le code :
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.tree.*;
import javax.swing.event.TableModelEvent;
/**
* @author dt_web
* @since 09.01.2006
*
* cette classe permet en plus de l'affichage d'une base de donnée
access
* dans une JTable de l'actualiser par l'envoi de requête sql.
* je me suis servi pour cela de la classe JDBCAdapter.java
* que j'ai emprunté dans la section du
jdk1.5.0_06demojfcTableExample
*
*/
public class testJTable {
public static void main (String[] args){
// constructeur principal
new principale();
}
}
class principale extends JFrame implements MouseListener{
private static final int x = 500;
private static final int y = 500;
private JTree tree;
private JLabel celluleclic;
public JPanel panel = new JPanel(new BorderLayout());
public JTable table = new JTable();
public JScrollPane JSP = new JScrollPane(table);
public JMenu jMenu_Etudiant = new JMenu();
public JTextField textRequete;
public DefaultMutableTreeNode root, node1, node2, node3;
// 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:ecole; ";//PATH
String login = "";// USER
String pw = "";//PASSWORD
//String requete="SELECT CD_ETU FROM ETDIANT ;";
String requete="SELECT CD_MAT from MATIERE WHERE semestre=1; ";
// Constructeur....
public principale(){
BorderLayout borderLayout1 = new BorderLayout();
panel = (JPanel) this.getContentPane();
panel.setLayout(borderLayout1);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(x,y);
this.setTitle("
" +
" ESTI ABSENCE ");
jMenu_Etudiant.setMnemonic('E');
jMenu_Etudiant.setText("MENU");
JMenuBar jMenuBar1 = new JMenuBar();
jMenuBar1.add(jMenu_Etudiant);
this.setJMenuBar(jMenuBar1);
/* une arboresence de JTREE pour chercher
le groupe le depart la classe de l'etudiant*/
root = new DefaultMutableTreeNode("ESTI", true);
node1 = new DefaultMutableTreeNode("node 1", true);
node2 = new DefaultMutableTreeNode("node 2" , true);
node3 = new DefaultMutableTreeNode("node 3" , true);
root.add(node1);
node1.add(node2);
root.add(node3);
tree=new JTree(root);
tree.setPreferredSize(new Dimension(100,y));
panel.add(tree,BorderLayout.WEST);
JSP.setPreferredSize(new Dimension(x,y));
panel.add(JSP,BorderLayout.CENTER);
// 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
this.table.setModel(dataBase);
////////////////////////////////////////
/*pour modifier le contenu d'une cellule et mettre à jour la base en
meme temps*/
this.table.addMouseListener (this);
this.celluleclic = new JLabel (" ligne : colonne : ");
this.getContentPane ().add (this.celluleclic, BorderLayout.SOUTH);
///////////////////////////////
pack();
show();
}
public void mouseClicked(MouseEvent e) {
Point p = e.getPoint ();
int colonne = this.table.columnAtPoint (p)+1;
int ligne = this.table.rowAtPoint (p)+1;
// si la souris n'a pas clic sur une cellule :
if ( (0 == colonne) || (0 == ligne) )
{
this.celluleclic.setText (" Pas de Cellule selectionée ");
}
else
{
this.celluleclic.setText (" ligne : "+ligne+" colonne :
"+colonne);
while(true){
Object value=this.table.getValueAt(ligne,colonne);
this.table.setValueAt(value,ligne,colonne);}
//this.table.editCellAt(row, col);
//this.table.getEditorComponent().requestFocus();
}
}
public void mouseExited (MouseEvent e) { }
public void mousePressed (MouseEvent e) { }
public void mouseReleased (MouseEvent e) { }
public void mouseEntered (MouseEvent e) { }
// écouteur du champ textRequete (détecte un Return )
public void actionPerformed(ActionEvent e) {
if (e.getSource() == node1) System.out.println("b1............");
if (e.getSource() == node2) System.out.println("b2............" );
if (e.getSource() == node3) System.out.println("b3............" );
if (e.getSource().equals(textRequete )) {
dataBase.executeQuery(textRequete .getText());
System.out.println("requete............");
}
}
}
Si tu me propose une autre manière de travail au liue de JTABLE
n'h"site surtout pas pourvu que je termine cette partie l me reste du
travail!
c'est pour mon projet de fin d'etude et je galère déjà :(
merci infiniment!
au fait c'est la première suggestion qui est la bonne
"les requêtes SQL ne font que récupérer les ID des étudiants d'une
part et les matières d'autre part"
mais moi je pense que mon modèle JDBCX n'est pas mal au contraire je
crois qu'il correspond bien à mon prb:
au fait c'est la première suggestion qui est la bonne
"les requêtes SQL ne font que récupérer les ID des étudiants d'une
part et les matières d'autre part"
mais moi je pense que mon modèle JDBCX n'est pas mal au contraire je
crois qu'il correspond bien à mon prb:
au fait c'est la première suggestion qui est la bonne
"les requêtes SQL ne font que récupérer les ID des étudiants d'une
part et les matières d'autre part"
mais moi je pense que mon modèle JDBCX n'est pas mal au contraire je
crois qu'il correspond bien à mon prb: