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

Résolu
cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012 - 13 févr. 2008 à 23:27
cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012 - 15 févr. 2008 à 12:37
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

cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012
15 févr. 2008 à 12:37
salut, j'ai résolue le probléme c'été un probléme de boucle, merci pour vos réponses.
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
14 févr. 2008 à 07:21
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
0
cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012
14 févr. 2008 à 12:22
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
0
cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012
14 févr. 2008 à 12:30
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.
0

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

Posez votre question
cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012
14 févr. 2008 à 12:48
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.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
14 févr. 2008 à 12:52
<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
0
boumarsel Messages postés 298 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 9 juillet 2008 1
14 févr. 2008 à 15:50
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,
0
cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012
14 févr. 2008 à 21:34
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();??
0
cascadox Messages postés 58 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 15 septembre 2012
14 févr. 2008 à 22:37
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");
0
boumarsel Messages postés 298 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 9 juillet 2008 1
15 févr. 2008 à 10:39
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>
0
Rejoignez-nous