Prob ac l'affichage sur les JTextField apartir d'une bd

Résolu
Signaler
Messages postés
58
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
15 septembre 2012
-
Messages postés
58
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
15 septembre 2012
-
slt ts l monde,
voila jé un prob d'affichage sur mes JTextField apartir d'une base de donnée Access, jé vrément besoin d'aide,j ss un débutant alr doucement lol merci d'avance
voila le code:
_______________________________________________________________________________
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

public class Frame1 extends JFrame {
    JPanel contentPane;
    int ApplicationUrn;
    StringBuffer AppUrn = new StringBuffer();
    JTextField jTextField1 = new JTextField();
    JTextField jTextField2 = new JTextField();
    JTextField jTextField3 = new JTextField();
    JTextField jTextField4 = new JTextField();
    JTextField jTextField5 = new JTextField();
    JTextField jTextField6 = new JTextField();
    JTextField jTextField7 = new JTextField();
    JTextField jTextField8 = new JTextField();
    JTextField jTextField9 = new JTextField();
    JTextField jTextField10 = new JTextField();
    Connection connect=null;
    Statement S=null;
    ResultSet RS=null;

//Construct the frame
public Frame1() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
        jbInit();
        }
    catch(Exception e) {
        e.printStackTrace();
        }
    }
//Component initialization
private void jbInit() throws Exception {

        contentPane = (JPanel) this.getContentPane();
        jTextField1.setToolTipText("");
        //jTextField1.setText("Application Urn");
        jTextField1.setBounds(new Rectangle(114, 34, 68, 21));
        contentPane.setLayout(null);
        this.setContentPane(contentPane);
        this.setSize(new Dimension(500, 500));
        this.setTitle("Test Connexion");
        jTextField2.setBounds(new Rectangle(115, 62, 68, 21));
        //jTextField2.setSelectionStart(12);
        //jTextField2.setText("APP");
        //jTextField3.setText("APP ABA");
        jTextField3.setToolTipText("");
        //jTextField3.setSelectionStart(12);
        jTextField3.setBounds(new Rectangle(115, 89, 188, 21));
        //jTextField4.setText("Application Name");
        jTextField4.setToolTipText("");
        //jTextField4.setSelectionStart(12);
        jTextField4.setBounds(new Rectangle(116, 116, 68, 21));
        jTextField5.setBounds(new Rectangle(115, 142, 188, 21));
        //jTextField5.setSelectionStart(12);
        jTextField5.setToolTipText("");
        //jTextField5.setText("Application Name Abbreviation");
       
        contentPane.add(jTextField1, null);
        contentPane.add(jTextField2, null);
        contentPane.add(jTextField3, null);
        contentPane.add(jTextField4, null);
        contentPane.add(jTextField5, null);

String DB= "articl";
        try{
       
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        connect=DriverManager.getConnection("jdbc:odbc:"+DB, "", "");
        System.out.println("Connexion avec la base " + DB + " ?tablie");
       
        S=connect.createStatement();
       
        RS=S.executeQuery("select * from " + DB);
        String temp = null;
        while(RS.next()){
        System.out.println(RS.getString("code")+ ","+
        RS.getString("nom")+ ","+
        RS.getString("prix")+ ","+
        RS.getString("stock_actu")+ ","+
        RS.getString("stock_mini"));
        jTextField1.setText(RS.getString("code"));
        jTextField2.setText(RS.getString("nom"));
        jTextField3.setText(RS.getString("prix"));
        jTextField4.setText(RS.getString("stock_actu"));
        jTextField5.setText(RS.getString("stock_mini")); 
       
        }
        }catch(Exception e){
        }
        try{
        connect.close();
        }catch(Exception e){}
        System.out.println("Base " + DB + " ferm?e");

}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
        System.exit(0);
    }
    }
public static void main(String[] args)
    {
    Frame1 frame1 = new Frame1();
    frame1.setVisible(true);
    }
    }

10 réponses

Messages postés
58
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
15 septembre 2012

salut, j'ai résolue le probléme c'été un probléme de boucle, merci pour vos réponses.
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Salut,

Tu as "un problème d'affichage", ok, mais si tu nous dit pas lequel, on va pas avancer !

Déjà, 1, évite le langage SMS, c'est chiant à lire !
2, évite de ne pas utiliser de layout, ca t'évitera de demander dans quelques temps comment ca se fait que ton interface est figée (si si, je t'assure, y'a plein de débutants qui font comme toi, et qui se rendent compte que c'est pas top au final de ne pas utiliser de layout, donc autant prendre de bonnes habitudes).
3, Ne surtout pas faire de : "}catch(Exception e){}" : c'est la meilleure facçon d'avoir "un problème d'affichage" sans savoir pourquoi... fait au moins un : "}catch(Exception e){e.printStackTrace();}" histoire de voir l'erreur qui se déclenche.
4, évite les : "private void jbInit() throws Exception" : spécialise tes exceptions plutôt que d'en renvoyer une générique, ce sera plus simple à maintenir !
5, c'est quoi ce : "RS=S.executeQuery("select * from " + DB);" : tu as une table dans ta base de données qui porte exactement le même nom que ta base de données ? Avec le ".mdb" et tout et tout ? Il faut mettre ici le nom de la table et nom le nom de la base de données !
______________________________________
DarK Sidious
Messages postés
58
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
15 septembre 2012

salut merci pr la réponse, je suis un débutant alors ya bcp de chemain devant moi pour bien métriser le java lol, mais voila la DB cé la base de donnée , String DB= "articl", le nom original de la base de données est articl , et le RS=S.executeQuery( "select * from " + DB ) RS =resultset, S.executeQuery("select * from " + DB) cé la commande sql pour fair un select de la base de donnée.
je croi que le probleme est que l programme ne conné pas mais JTextfield mais en je suis pas sure.
tu me conseil d'utiliser quelle language à la place de la language sms??
merci bcp pour ta réponse
Messages postés
58
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
15 septembre 2012

excuse pr ( tu me conseil d'utiliser quelle language à la place de la language sms) c'est mon petit frére qui écrit nimporte koi dsl et merci pour la réponse.
Messages postés
58
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
15 septembre 2012

quand j'ai ajouté le e.printStackTrace(); ce message d'érreur aparait

java.sql.SQLException: No data found
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7138)
    at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:411)
    at Frame1.jbInit(Frame1.java:88)
    at Frame1.(Frame1.java:30)
    at Frame1.main(Frame1.java:112)
Base articl fermée

aprés ca je me suis assurer que les champs  existent vraiment  dans la base,et j'ai trouvé les champs existent.
je sais pas d'où vient le probleme.
Messages postés
5366
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
111
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" />
<title>
</title>
<meta name="GENERATOR" content="OpenOffice.org 2.3 (Linux)" />
<style type="text/css">
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
</style>
Salut,







"tu me conseil d'utiliser quelle language à la place de la language sms??"


>> le langage français
pour commencer... et n'hésite pas à saisir ton message
sous ms word/oo writer ou autre traitement de texte qui procède
un correcteur orthographique.











------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
298
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
9 juillet 2008
1
bonjour,

A ta place je commence par RS.getString("nom") pour voir ce que ça donne et je mettrai aussi un println juste au début de la boucle pour si tout est ok jusqu'au là.

while(RS.next()){
       -->ici

Sinon je te conseille de te rendre sur cette page, elle t'aidera bcp :

http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/getstart/resultset.html

crdt,
Messages postés
58
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
15 septembre 2012

salut,
boumarsel oui j'ai déja fait ce que ta dit :
while(RS.next()){
        System.out.println(RS.getString("code")+ ","+
        RS.getString("nom")+ ","+
        RS.getString("prix")+ ","+
        RS.getString("stock_actu")+ ","+
        RS.getString("stock_mini"));
la connexion avec la base de donnée marche sans problémes. je croi que le probléme vien de conversion en string des valeures sur le tableau ca veux dire convertir RS à une string mais je sais pas comment faire
j'ai éssayer ca mais ca n'as pas marché
jTextField1.setText(RS.getString("code")).toString();??
Messages postés
58
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
15 septembre 2012

j'ai éssayer de convertire mais ca n'as pas marché non plus.
while(RS.next()){
        System.out.println(RS.getString("code")+ ","+
        RS.getString("nom")+ ","+
        RS.getString("prix")+ ","+
        RS.getString("stock_actu")+ ","+
        RS.getString("stock_mini"));
String jTextField1 = RS.getString(1);
String jTextField2 = RS.getString(2);
String jTextField3 = RS.getString(3);
String jTextField4 = RS.getString(4);
String jTextField5 = RS.getString(5);
        }
        }catch(Exception e){e.printStackTrace();}
        try{
            connect.close();
            }catch(Exception e){e.printStackTrace();}
        System.out.println("Base " + DB + " ferm?e");
Messages postés
298
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
9 juillet 2008
1
Bonjour,

Utilise la bonne méthode qui correspond le mieu au type du champs "code", s'il s'agit d'un INTEGER vaut mieux utiliser getInt.

<center>

Crdt,

</center>