IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

Questionnaire en java


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Points : 68
    Points
    68
    Par défaut Questionnaire en java
    Bonjour,

    je travail en ce moment sur un questionnaire, pour le moment j'arrive à récupérer les chapitre de mon questionnaire, les afficher sous forme de Jcheckbox et quand on valide on recupere les question appartenant à ces chapitre, cependant pour le moment je recupere les questions sur la console, or il faudrait :
    - que je puisse les recuperer dans une fenetre, 1 à 1, car l'utilisateur doit pouvoir taper la réponse ( et d'autre option viendront par la suite) avant de passer à la question suivante.
    Donc dois je créer une nouvelle fenetre? ou bien charger dans la même? ( heu dans les 2 cas je veux bien des pistes )

    Je vous poste le code, d'ailleur si vous avez des remarques pour qu'il soit plus propre n'hesitez pas

    mon main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import java.sql.SQLException;
    import javax.swing.*;
     
    public class test
     
    {
        public static void main( String [] args ) throws SQLException
        {
     
            JFrame f = new Fenetre();
            f.setVisible(true);    
     
        }
    }
    et ma fenetre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    import javax.swing.*;
     
    import java.awt.*;    
    import java.awt.event.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
     
         class Fenetre extends JFrame implements ActionListener
         {
        	 private JButton bouton2;
        	 private Map<String, JCheckBox>boxes = new HashMap<String, JCheckBox>();
        	 private Iterator it;
     
     
              public Fenetre()
              { 
                  setTitle("Questionnaire audit");
                  Container co = getContentPane();
                  co.setLayout(new FlowLayout());         
                  setSize(500, 300);
                  setLocationRelativeTo(this.getParent());                               
                  setDefaultCloseOperation(3);        	          	          	          	  
            	  Connection c = null;
                  Statement stmnt = null;
                  //on essai d'etablir la connection
                  try
                  {
                  	//on renseigne le driver
                      Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
                      // on donne les parametre de la connection : quest étant ce que l'on a defini dans le panneau de controle
                      c = DriverManager.getConnection( "jdbc:odbc:quest", "", "" );
                      stmnt = c.createStatement();
                      //notre requete sql
                      String query = "select chapitre from [quess$] order by ide asc;";
                      //on met le resultat de notre requete dans un resultset
                      ResultSet rs = stmnt.executeQuery( query );
                      //on boucle sur notre resultset   
                      while( rs.next() )
                      {
     
                    	boxes.put(rs.getString( "chapitre" ),new JCheckBox());
     
                      }
     
                  }
                  catch( Exception e )
    	              {
    	                  System.err.println( e );
    	              }
                  finally
                  {
    	              try
    		              {
    		                  stmnt.close();
    		                  c.close();
    		              }
    	              catch( Exception e )
    		              {
    		                  System.err.println( e );
    		              }
                  }
     
     
                  JCheckBox box;
                  for(String name : boxes.keySet())
    	              {
    	                  box = boxes.get(name);
    	                  box.setLabel(name);
    	              }
     
     
                  it = boxes.keySet().iterator(); 
                  while (it.hasNext())
    	              {
    	                  co.add(boxes.get(it.next()));
    	              }
     
                  bouton2 = new JButton("Valider");
                  co.add(bouton2);
                  bouton2.addActionListener(this);
     
              }
     
              public void actionPerformed(ActionEvent a)
              	{
            		String tab[] = new String[boxes.size()];       	  			
            	  	int i= 0;
            	  	JCheckBox box;
            	  	for(String name : boxes.keySet()) 
    	        	  	{
    	        	       box = boxes.get(name);
    	        	       if(box.isSelected())
    		        	       {
    	        	                tab[i] = (String)box.getLabel();
    	        	                i++;
    	        	           }
     
    	        	     }
     
     
            	  			//construction de la requete SQL
            	  	String query ="select question from [ques$],[quess$] where ide=chap AND chapitre IN (";
            	  	for(int j=0;j<i;j++) 
            	  		{
    	        	  		if(j< i- 1)
    		        	  		{
    			        	  		tab[j]="'"+tab[j]+"'";
    			        	  		query += tab[j]+"," ;
    		        	  		}
    	        	  		else 
    	        	  			{
    	        	  				tab[j]="'"+tab[j]+"'";
    	        	  				query += tab[i-1]+")order by id";
    	        	  			}
            	  		}
     
     
            	  		Connection c2 = null;
    	                Statement stmnt2 = null;
    	                try
    		               {
    	                	Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
    			            c2 = DriverManager.getConnection( "jdbc:odbc:quest", "", "" );
    			            stmnt2 = c2.createStatement();
    			            ResultSet rs2 = stmnt2.executeQuery( query );
    			            while( rs2.next() )
    				              {
    				               System.out.println(rs2.getString( "question" ));
    				              }
     
    		                }
    	                 catch( Exception e )
    		                      {
    		                          System.err.println( e );
    		                      }
    	                  finally
    		                      {
    		        	              try
    			        	              {
    			        	                  stmnt2.close();
    			        	                  c2.close();
    			        	              }
    		        	              catch( Exception e )
    			        	              {
    			        	                  System.err.println( e );
    			        	              }
    		                      }   	
     
              				}
     
         }

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Points : 68
    Points
    68
    Par défaut
    Bon pour le moment j'ai opter pour l'ouverture d'une seconde fenetre avec fermeture de la première.

    Au lieu de "passer la multitude de question qu'il y aura dans le questionnaire, je pensais passer simplement les thèmes quit ont été coché, seulement le seul endroit ou l'on sait que certain thème ont été coché, c'est la methode actionperformed() du coup je vois pas trop comment est ce que je peux recuperer un tableau qui s'est cré dans cette methode dans une autre frame.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Points : 68
    Points
    68
    Par défaut
    J'utilise un tab statique que j'instancie dans ma fenetre 1 et que j'arrive à récupérer dans ma fenetre 2, arreter moi si je fais des bétises^^



    Au cas ou quelqun voudrait m'aider :
    je retransmet le code :

    seul les fenetre ont été modifier,

    fenetre 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    import javax.swing.*;
     
    import java.awt.*;    
    import java.awt.event.*;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
     
         class Fenetre extends JFrame implements ActionListener
         {
        	 private JButton bouton2;
        	 private Map<String, JCheckBox>boxes = new HashMap<String, JCheckBox>();
        	 private Iterator it;
        	 private static String tabl[] = new String[1000];
     
              public Fenetre()
              { 
                  setTitle("Questionnaire audit");
                  Container co = getContentPane();
                  co.setLayout(new FlowLayout());         
                  setSize(500, 300);
                  setLocationRelativeTo(this.getParent());                               
                  setDefaultCloseOperation(3);        	          	          	          	  
            	  Connection c = null;
                  Statement stmnt = null;
                  //on essai d'etablir la connection
                  try
                  {
                  	//on renseigne le driver
                      Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
                      // on donne les parametre de la connection : quest étant ce que l'on a defini dans le panneau de controle
                      c = DriverManager.getConnection( "jdbc:odbc:quest", "", "" );
                      stmnt = c.createStatement();
                      //notre requete sql
                      String query = "select chapitre from [quess$] order by ide asc;";
                      //on met le resultat de notre requete dans un resultset
                      ResultSet rs = stmnt.executeQuery( query );
                      //on boucle sur notre resultset   
                      while( rs.next() )
                      {
     
                    	boxes.put(rs.getString( "chapitre" ),new JCheckBox());
     
                      }
     
                  }
                  catch( Exception e )
    	              {
    	                  System.err.println( e );
    	              }
                  finally
                  {
    	              try
    		              {
    		                  stmnt.close();
    		                  c.close();
    		              }
    	              catch( Exception e )
    		              {
    		                  System.err.println( e );
    		              }
                  }
     
     
                  JCheckBox box;
                  for(String name : boxes.keySet())
    	              {
    	                  box = boxes.get(name);
    	                  box.setLabel(name);
    	              }
     
     
                  it = boxes.keySet().iterator(); 
                  while (it.hasNext())
    	              {
    	                  co.add(boxes.get(it.next()));
    	              }
     
                  bouton2 = new JButton("Valider");
                  co.add(bouton2);
                  bouton2.addActionListener(this);	
     
     
              }
           /*   public String[] RetournerChapitre() 
              	{
            	String chap[] = new String[boxes.size()];       	  			
          	  	int i= 0;
          	  	JCheckBox box;
          	  	for(String name : boxes.keySet()) 
    	        	  	{
    	        	       box = boxes.get(name);
    	        	       if(box.isSelected())
    		        	       {
    	        	    	   		chap[i] = (String)box.getLabel();
    	        	                i++;
    	        	           }
     
    	        	     }
          	  	System.out.println(chap.length);
          	  	return chap;
            	  
              	}*/
     
              public void actionPerformed(ActionEvent a)
              	{
            		String tab[] = new String[boxes.size()];       	  			
     
            		int i= 0;
            	  	JCheckBox box;
            	  	for(String name : boxes.keySet()) 
    	        	  	{
    	        	       box = boxes.get(name);
    	        	       if(box.isSelected())
    		        	       {
    	        	                tab[i] = (String)box.getLabel();
    	        	                getTabl()[i]= (String)box.getLabel();
    	        	                i++;
    	        	           }
     
    	        	     }
     
     
    	            dispose();
    	            JFrame f2 = new Fenetre2();
     
    	            f2.setVisible(true);    
     
              	}
     
    		public static void setTabl(String tabl[]) {
    			Fenetre.tabl = tabl;
    		}
     
    		static String[] getTabl() {
    			return tabl;
    		}
     
         }
    fenetre 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
     
    import javax.swing.JFrame;
     
     
    class Fenetre2 extends JFrame implements ActionListener
     
    {
    	static String Chap[];
    	public Fenetre2()
     
    		{
    			 int k=0;
     
    			 setTitle("Questionnaire audit");
    	         Container co = getContentPane();
    	         co.setLayout(new FlowLayout());         
    	         setSize(500, 300);
    	         setLocationRelativeTo(this.getParent());                               
    	         setDefaultCloseOperation(3); 
    	         Fenetre f = new Fenetre();
    	         String query ="select question from [ques$],[quess$] where ide=chap AND chapitre IN (";
     
    	         while(Fenetre.getTabl()[k] != null)
    		         {	
    	        	 k++;
    		         }
     
    	         for(int i=0;i<k;i++)
    	         	{
     
    		        	 if(i< k- 1)
    	        	  		{
    		        		 Fenetre.getTabl()[i]="'"+Fenetre.getTabl()[i]+"'";
    			        	 query += Fenetre.getTabl()[i]+"," ;
    	        	  		}
         	  		else 
         	  			{
         	  			Fenetre.getTabl()[i]="'"+Fenetre.getTabl()[i]+"'";
         	  				query += Fenetre.getTabl()[k-1]+")order by id";
         	  			}
    	         	}
     
    	         Connection c2 = null;
                 Statement stmnt2 = null;
                 try
    	               {
                 		Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
    		            c2 = DriverManager.getConnection( "jdbc:odbc:quest", "", "" );
    		            stmnt2 = c2.createStatement();
    		            ResultSet rs2 = stmnt2.executeQuery( query );
    		            while( rs2.next() )
    			              {
    			               System.out.println(rs2.getString( "question" ));
    			              }
     
    	                }
                  catch( Exception e )
    	                      {
    	                          System.err.println( e );
    	                      }
                   finally
    	                      {
    	        	              try
    		        	              {
    		        	                  stmnt2.close();
    		        	                  c2.close();
    		        	              }
    	        	              catch( Exception e )
    		        	              {
    		        	                  System.err.println( e );
    		        	              }
    	                      } 
     
    		}
     
    	@Override
    	public void actionPerformed(ActionEvent arg0) {
    		// TODO Auto-generated method stub
     
    	}
    }

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    C'est dommage d'utiliser deux fenêtres.
    Tu devrais utiliser une autre technique, par exemple un JTabbedPane pour avoir des onglets, ou encore un CardLayout pour swapper entre les Panel.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Points : 68
    Points
    68
    Par défaut
    Hm c'est dommage que je n'ai pa su cela avant lol
    mais le jtabbedpane ou le cardlayout permettent d'avoir des approbation pour passer d'un onglet à un autre?
    exemple : un bouton valider sur la premiere page, qui permet d'arriver sur la seconde?
    En fait je tien pas forcement à ce que l'utilisateur puisse revenir en arrière.

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Effectivement, ça va vite devenir lourd de recréer des fenêtres à tout va...

    Je ne sais pas quel est ton niveau en Java, d'après l'intitulé du Forum, tu débutes donc j'aimerais te donner ces quelques conseils...


    Connais-tu le MVC ?

    Il serait adéquat de stocker toutes tes données dans une classe à part, ce qu'on appelle le modèle, cela gérera l'ensemble des questions et tes accès à la BDD.

    Ensuite tu crées une classe que l'on va appeler la Vue qui va afficher ces questions et interagir avec modèle (clics, choix de l'utilisateur, etc...).

    A noter un point important selon moi : étendre JFrame est inutile, sauf dans le cas de surcharge de méthodes (paint par exemple ). Il est plus propre selon moi de gérer tes composants via de petites méthodes statiques privées du genre createCheckBox(...) etc..

    Ensuite les contrôleurs seraient matérialisés par des Listener (clic sur bouton, croix coché etc). Dans ce cas-là tu appelerais le modèle pour charger les questions correspondantes, etc...

    Est-ce que tu vois l'intérêt de séparer l'aspect graphique des données ?

    Voilà, pour les quelques conseils, n'hésite pas à poser des questions si tu en as envie ou besoin !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Points : 68
    Points
    68
    Par défaut
    Salut,

    Alors le modèle vue controlleur, j'en ai seulement entendu parler ^^ je sais que c'est important de l'utiliser, qu'il faut bien séparer les couches, mais je t 'avoue qu'a part faciler peut être la reprise du code par quelqun d'habituer aussi au MVC je ne saurais justifier son interêt . Mais il est clair que ce serait interessant pour moi d'utiliser le MVC, seulement je ne suis pas sur d'y arriver.

    En fait j'ai du mal à voir comment lié l'ensemble.
    Et qu'entend tu par étendre JFrame?

    merci

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Alors, pour moi, le MVC a deux avantages principaux :

    - Favoriser la maintenance et l'évolution du code : tu sais immédiatement où chercher les données, les aspects graphiques etc..Le MVC est un design pattern classique, il est connu de la plupart des développeurs. Si jamais on te demande d'ajouter une nouvelle vue pour afficher tes données (un tableau au lieu d'une liste etc...), tu ne dois pas remodifier le traitement de tes données métier gérées par le modèle.

    - Séparer clairement comme les couches, comme tu l'as dit. Avantage non-négligeable dans le sens où chacun a sa responsabilité. Imaginons par exemple que tu confies la partie graphique à une personne spécialiste là-dedans qui ne gère pas du tout la connexion aux bases de données et vice-versa.

    Ca peut effectivement paraitre très théorique à prime abord, mais voilà comment tu peux l'implémenter.

    - Tu crées ta classe DataModel qui contient tes question et tes accès à la base.
    - Tu crées une classe View qui gère ta vue. Ce que j'ai voulu dire par étendre, c'est hériter de JFrame comme tu l'as fait pour Fenetre. C'est un raccourci qu'on a tous pris pour éviter de se prendre la tête à confectionner son interface graphique. On stocke ses composants en tant qu'attributs et tout est simple.

    Alors une question s'impose : pourquoi stocker tes composants graphiques en attributs puisqu'ils sont contenus dans ta JFrame ? Effectivement lorsque tu ajoutes tes composants dans les Layout, tu as cette notion d'appartenance et de liaison qui n'a pas besoin d'être dupliquée en les stockant en tant qu'attributs. Voilà pourquoi je te conseille de faire cela, il y'a plusieurs manières de faire. Crée de petites méthodes statiques privées JPanel createPanel(), createCheckBox(). A côté de cela, crée une petite méhode privée build() qui crée ta JFrame et la remplit avec les composants. Tu vois comme cela s'assemble ? Il te suffit ensuite de faire frame.add(createCheckBox(Text), BorderLayout.CENTER) etc...

    Alors maintenant, qu'en est il du lien avec le modèle. C'est simple comme bonjour, tu le passes au constructeur de ta vue et tu le stockes lui en tant qu'attribut. Une fois tes listeners implémentés sur chacun des composants tu peux directement accéder au modèle( model.getQuestions(), model.setAnswer() etc)..Après à toi de voir comment tu veux designer ton architecture.

    - Les contrôleurs sont donc matérialisés par les listeners cités au-dessus.

    Ca te parait plus clair ? Désolé pour le pamphlet, si tu as besoin d'un exemple codé pour mieux saisir, n'hésite pas à demander !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 154
    Points : 68
    Points
    68
    Par défaut
    Nan au contraire je t remerci pour tes pamphlet, j'ai du mal à tout digerer, enfin j'ai pas encore le déclic dans ma tête (ça m'enerve d'ailleurs lol) mais j'ai une question :
    (pour situer un peu le contexte, je précise que ma bdd c'est un classeur de feuille excel)

    - admettons que j'ai ma classe modèle, qui va contenir mes différents accès à la bdd sous forme de methodes(une methode par accès différent?). Sachant que mes requetes SQL se construisent suivant la classe vue, comment puis je les séparer? ( à moin que cela se fasse par passage de parametre?)

    je veux bien un petit example codé si ça te dérange pas

  10. #10
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Pour tes différentes opérations sur la base de données, tu peux effectivement utiliser une méthode différente à chaque fois. Et s'il s'agit de construire une requête SQL, je te conseille effectivement de passer des paramètres, que ceux nécessaires d'ailleurs, la vue n'a pas besoin de savoir que tu utilises du SQL derrière.

    J'avais effectivement regardé tes autres posts donc je savais que c'était un fichier Excel !

    Je te prépare un petit exemple du schmilblick dès que j'ai un peu de temps !

Discussions similaires

  1. Questionnaire Java / Java EE
    Par oliv37 dans le forum Général Java
    Réponses: 9
    Dernier message: 20/08/2013, 17h14
  2. Réponses: 0
    Dernier message: 04/12/2007, 18h17
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo