Base de données

cs_bibe Messages postés 27 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 12 mars 2004 - 2 sept. 2002 à 17:13
cs_bibe Messages postés 27 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 12 mars 2004 - 5 sept. 2002 à 16:19
Bonjour, je ne trouve pas dans la doc "jdk1.2" de méthode qui me permette de savoir combien il y a d'enregistrement dans ma table.

5 réponses

cs_bibe Messages postés 27 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 12 mars 2004
2 sept. 2002 à 17:17
Excusez j'avais pas fini.
si je demande ca c'est que j'ai un message d'erreur que je ne comprend pas.Le message est " état du curseur incorrecte ". Si quelqu'un a une réponse.
Merci d'avance.
BIBE
0
cs_squale Messages postés 44 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 20 septembre 2006 1
4 sept. 2002 à 04:00
Salut,
normalement tu doispouvoir utiliser la propriete recordCount. Mais donne plus de precision en donnant ton code source, ce sera plus facile.
A+
0
cs_bibe Messages postés 27 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 12 mars 2004
4 sept. 2002 à 11:44
Merci squale,
je t'envois mon code.

import java.sql.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
import javax.swing.BorderFactory;
import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;
import java.lang.*;
public class testbd extends JPanel{

public testbd() {

try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:auto";
String usr="";
String pass="";
Connection con = DriverManager.getConnection(url,usr,pass);
Statement statement = con.createStatement();

String query="select * from vehicule";
//query = query + "select Marques.logo, Marques.sigle, vehicule.modele, vehicule.N_Carro, vehicule.N_Carbu, vehicule.N_Boite,vehicule.Kilometrage,vehicule.Prix_Public,vehicule.Type_prix,vehicule.Millesime,vehicule.Coul_fr,vehicule.Caractéristique,vehicule.etat_vehicule,vehicule.Etat_Vente";//query query + " from vehicule inner join Marques on vehicule.N_Marque Marques.N_Marque ";



ResultSet result = statement.executeQuery(query);


int i=0;
String sigle_typ ="";
String sigle_carb ="";
String sigle_boit ="";
String sigle_taxe ="";
//result.beforeFirst();

for (i = 0 ; i<18 ; i++) {

String num_annonce = result.getString("Anc_Num");
String logo = result.getString(2);
String modele = result.getString(4);
int type = result.getInt(5);
//System.out.println(num_annonce);

/*
switch (type)
{
case 1: sigle_typ="BER"; break;
case 2: sigle_typ="CPE"; break;
case 3: sigle_typ="MON"; break;
case 4: sigle_typ="VU"; break;
case 5: sigle_typ="CAB"; break;
case 6: sigle_typ="LIM"; break;
case 7: sigle_typ="BK"; break;
case 8: sigle_typ="4*4"; break;
}

String sigle = result.getString(3);

int carburant = result.getInt(6);

switch (carburant)
{
case 1:sigle_carb="DIE";break;
case 2:sigle_carb="ESS";break;
case 3:sigle_carb="GAZ";break;
}

int boite = result.getInt(7);
switch (boite)
{
case 1:sigle_boit = "";break;
case 2:sigle_boit = "BA";break;
case 3:sigle_boit = "BM";break;
}*/

String mkm = result.getString(8);
String prix = result.getString(9);
int taxe = result.getInt(10);

/*switch (taxe)
{
case 0:sigle_taxe=" HT";break;
case 1:sigle_taxe=" TTC";break;
}*/

String an = result.getString(11);
String color = result.getString(12);
String caracteristiques = result.getString(13);
String etat = result.getString(14);

Color cf = new Color(0,0,122);
int coordy = (i*32);

Button cbutton = new Button("GO");

cbutton.setFont(new Font("arial",Font.BOLD,14));
cbutton.setForeground(new Color(254,254,254));
cbutton.setBackground(new Color(220,0,0));
cbutton.setSize(30,20);
cbutton.setLocation(10,coordy);
cbutton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ac){

//String[] args =new String[1];
//args[0] = num_annonce;
//String a = num_annonce;
Detail_edit fenetre2 = new Detail_edit();
fenetre2.go("a 4676");
}});

Label cnum = new Label(an);
cnum.setFont(new Font("arial",Font.BOLD,12));
cnum.setForeground(new Color(255,235,230));
cnum.setBackground(cf);
cnum.setSize(50,20);
cnum.setAlignment(Label.CENTER);
cnum.setLocation(60,coordy);
/*
JPanel clogo =new JPanel();
clogo.setLayout(new GridLayout(0,1,1,1));
clogo.setSize(50,20);
clogo.setLocation(120,coordy);
clogo.setBackground(new Color(254,254,254));
String texturl="images/"+logo ;
Logo llogo = new Logo(texturl);
clogo.add(llogo);

Label cblanc = new Label("");
cblanc.setBackground(new Color(254,254,254));
cblanc.setSize(280,14);
cblanc.setLocation(120,coordy+18);

Label csigle = new Label(sigle);
csigle.setFont(new Font("arial",Font.BOLD,12));
csigle.setBackground(new Color(254,254,254));
csigle.setAlignment(Label.CENTER);
csigle.setSize(45,18);
csigle.setLocation(170,coordy);

Label cmodele = new Label(" "+modele);
cmodele.setFont(new Font("arial",Font.BOLD,12));
cmodele.setBackground(new Color(246,246,246));
cmodele.setSize(185,18);
cmodele.setLocation(215,coordy);

Label ctype = new Label(sigle_typ);
ctype.setFont(new Font("arial",Font.BOLD,12));
ctype.setBackground(new Color(234,234,234));
ctype.setAlignment(Label.CENTER);
ctype.setSize(30,18);
ctype.setLocation(400,coordy);

Label ccarburant = new Label(sigle_carb);
ccarburant.setFont(new Font("arial",Font.BOLD,12));
ccarburant.setBackground(new Color(234,234,234));
ccarburant.setAlignment(Label.CENTER);
ccarburant.setSize(30,18);
ccarburant.setLocation(430,coordy);

Label cboite = new Label(sigle_boit);
cboite.setFont(new Font("arial",Font.BOLD,12));
cboite.setBackground(new Color(234,234,234));
cboite.setAlignment(Label.CENTER);
cboite.setSize(30,18);
cboite.setLocation(460,coordy);

Label can = new Label(an);
can.setFont(new Font("arial",Font.BOLD,12));
can.setBackground(new Color(246,246,246));
can.setAlignment(Label.CENTER);
can.setSize(70,18);
can.setLocation(490,coordy);

Label ccouleur = new Label(color);
ccouleur.setFont(new Font("arial",Font.BOLD,12));
ccouleur.setBackground(new Color(246,246,246));
ccouleur.setAlignment(Label.CENTER);
ccouleur.setSize(100,18);
ccouleur.setLocation(560,coordy);

Label cmkm = new Label(mkm);
cmkm.setFont(new Font("arial",Font.BOLD,12));
cmkm.setBackground(new Color(255,255,156));
cmkm.setAlignment(Label.CENTER);
cmkm.setSize(40,18);
cmkm.setLocation(660,coordy);

Label cprix = new Label(prix+" €");
cprix.setFont(new Font("arial",Font.BOLD,12));
cprix.setBackground(new Color(255,230,77));
cprix.setAlignment(Label.CENTER);
cprix.setSize(60,18);
cprix.setLocation(700,coordy);

Label ctaxe = new Label(sigle_taxe);
ctaxe.setFont(new Font("arial",Font.BOLD,12));
ctaxe.setBackground(new Color(255,230,77));
ctaxe.setAlignment(Label.CENTER);
ctaxe.setSize(25,18);
ctaxe.setLocation(760,coordy);


Label cprixff = new Label(prix+ "FF");
cprixff.setFont(new Font("arial",Font.BOLD,12));
cprixff.setForeground(new Color(255,235,230));
cprixff.setBackground(cf);
cprixff.setAlignment(Label.CENTER);
cprixff.setSize(70,18);
cprixff.setLocation(795,coordy);

Label ccaracteristiques = new Label(caracteristiques);
ccaracteristiques.setFont(new Font("arial",Font.PLAIN,10));
ccaracteristiques.setBackground(new Color(254,254,254));
ccaracteristiques.setForeground(new Color(153,153,153));
ccaracteristiques.setSize(940,14);
ccaracteristiques.setLocation(400,coordy+18);
*/
add(cbutton);
add(cnum);
/*
add(clogo);
add(csigle);
add(cmodele);
add(ctype);
add(ccarburant);
add(cboite);
add(can);
add(ccouleur);
add(cmkm);
add(cprix);
add(cprixff);
add(ccaracteristiques);
add(cblanc);
add(ctaxe);*/

i++;
result.next();

//-----------------------------------------------------------------------------
}


// fermeture de la connexion
con.close();

}

catch( ClassNotFoundException e) {
System.err.println("Erreur lors du chargement du pilote:"+e);
}
catch(SQLException sqle) {
System.err.print("ERREUR SQL=="+sqle);
}

}

}
0
cs_squale Messages postés 44 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 20 septembre 2006 1
4 sept. 2002 à 20:42
Ok je crois voir ton probleme.
Tu n'as pas besoin de connaitre le nbre exacte mais seulement de t'arreter qd c'est fini!!
Voici la methode correcte pour traiter ts les enregistrements d'une table:

ResultSet result = statement.executeQuery(query);
while(result.next())
{
//traitement sur l'enregistrement
//......
//fin du traitement, enregistrement suivant
}
result.close;

Avec ce principe tu ne deborderra pas de ta table
A+
0

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

Posez votre question
cs_bibe Messages postés 27 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 12 mars 2004
5 sept. 2002 à 16:19
Bonjour Squale et merci pour ta réponse.
J'ai essayé "while (result.next())",
mais le problème est que ma table contient + de 1300 enregistrements, et quand je lui demande de m'afficher tout ca, mon ordi agonise.
J'en viens même à me demander si j'aborde le problème correctement.
A+ merci.
0
Rejoignez-nous