Bases de donnees java

Résolu
Signaler
Messages postés
75
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2009
-
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
bonjour a tous!!!

je souhaite afficher l enregistrement precedent a partir d un click bouton et je ne trop comment m y prendre

merci de me repondre!!!

10 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Salut,

Tout dépend comment tu accède à tes données, mais le plus simple est d'ouvrir un resulset, et de le parcourir (next et prev il me semble).
______________________________________
DarK Sidious
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Salut,

Essaye avec ceci :
if (!res.isFirst()) {
res.previous();
}
______________________________________
DarK Sidious
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Salut,

Tant que j'y pense : tu peux regarder ma source CConnectBar qui est justement un panel possédant plusieurs boutons (dont next et prev) qui permet de naviguer dans une case de données
______________________________________
DarK Sidious
Messages postés
75
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2009

oui merci Darksidious...est ce de cette facon que je passerai a l enregistrement precedent??
voici mon code:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
try{Class.foname("com.mysql.jdbc.Driver");
url = "jdbc:mysql://localhost/mabase";
con = DriverManager.getConnection(url,user,pass);
state = con.createStatement();
result = state.executeQuery("SELECT * FROM Mytable");

result.previous();
jTextFiedl1.setText(result.getString(1));
}
catch(Exception e){e.getMessage;}
}
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Salut,

Oui et non : il faut que tu ouvre ton resulset en dehors de ton événement de clic, car sinon tu seras toujours sur le même enregistrement ! Et un autre conseil : teste s'il ne s'agit pas du premier enregistrement de ton resulset, sinon tu auras une exception de levée !

______________________________________
DarK Sidious
Messages postés
75
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2009

Darksidious , apres avoir importe tous les package necesaire j etabli ma connecxion dans le constructeur de ma classe... et dans mon clic bouton...
l erreur suivante est genenree :
"Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
"
voici mon code:

public class Contacts extends javax.swing.JFrame {

private String url;
private Connection con;
private Statement st;
private ResultSet res;
private PreparedStatement pr;
/** Creates new form Contacts */
public Contacts() throws ClassNotFoundException, SQLException {
super("Contacts");
//setBounds(20,20,1003,682);
initComponents();
try{ Class.forName("com.mysql.jdbc.Driver");
url = "jdbc:mysql://localhost/contacmanager";
con = DriverManager.getConnection(url,"root","stockaj");
st = con.createStatement();
res = st.executeQuery("SELECT * FROM contac_man");
}
catch(Exception ex){ex.getMessage();}
}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
try {
res.previous();
jTextField3.setText(res.getString(1));
} catch (SQLException ex) {
Logger.getLogger(Contacts.class.getName()).log(Level.SEVERE, null, ex);
}
}

qu en est il?? et comment y remedier??
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Salut,

Sur quelle ligne tu as le nullpointer ?
______________________________________
DarK Sidious
Messages postés
75
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2009

sur res.previous(); // je crois car c est a ce niveau que s arrete l execution pas a pas
Messages postés
75
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
31 mars 2009

salut DarkSidious,
desole quelques pb avec mon modem....

meme jusque la ca ne marche pas... dis moi, comment tu ecriras le constructeur de ta classe et la methode Actionperformed???
merci
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Salut,

De tête (possible que ca ne compile pas) ca doit donner un truc comme cà :

public class Contacts extends javax.swing.JFrame implements ActionListener {

    private String url;

    private Connection con;

    private Statement st;

    private ResultSet res;

    private PreparedStatement pr;

    public Contacts() throws ClassNotFoundException, SQLException {

        super("Contacts");

        initComponents();

      try{ Class.forName("com.mysql.jdbc.Driver");

         url = "jdbc:mysql://localhost/contacmanager";

         con = DriverManager.getConnection(url,"root","stockaj");

         st = con.createStatement();

         res = st.executeQuery("SELECT * FROM contac_man");

      }

      catch(Exception ex){ex.getMessage();
}

        tonBoutonPrev.addActionListener(this);
    }

    public void actionPerformed(
ActionEvent e) { // dans la même classe que ta classe Contact !
    
try {


            if (!res.isFirst()) {
                res.previous();
            }

            jTextField3.setText(res.getString(1));


            } catch (SQLException ex) {


            Logger.getLogger(Contacts.class.getName()).log(Level.SEVERE, null, ex);


        }

  }

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

       
}

______________________________________
DarK Sidious