Bonjour merci pour vous réponses.
je travaille actuelement avec ce code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public void ChercheTable(String RefProduit){
String req="SELECT Production_J,PC,Livraison_J,LC FROM omag_valeur WHERE Date ='"+date+"' AND RefProduit ='"+RefProduit+"'";
Requete resultat = new Requete(conn,req,1);
try{
while(resultat.resultat.next()){
PJ=resultat.resultat.getDouble(1);
PC=resultat.resultat.getDouble(2);
LJ=resultat.resultat.getDouble(3);
LC=resultat.resultat.getDouble(4);
}
}catch(SQLException e){
e.printStackTrace();
}
} |
Requete :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public class Requete {
ResultSet resultat=null;
Statement statement;
public Requete(Connection conn,String req,int a){
try {
statement= conn.createStatement();
if(a==1)
resultat=statement.executeQuery(req);
else if(a==2)
statement.executeUpdate(req);
} catch(SQLException e) {
e.printStackTrace();
}
}
} |
et j'ai trouvé dans la FAQ de JDBC des méthodes qui seront la solution pour
mon problème ,
http://java.developpez.com/faq/jdbc/?page=resultset
donc j'ai fait ces modifications :
1 2 3 4 5 6 7 8 9 10 11 12
|
// pour faire resultat.resultat.last(); je dois changer le type de ResultSet
// de la classe Requete par : statement= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
// donc à la place de while j'ai fait ceci :
resultat.resultat.last();
PJ=resultat.resultat.getDouble(1);
PC=resultat.resultat.getDouble(2);
LJ=resultat.resultat.getDouble(3);
LC=resultat.resultat.getDouble(4); |
mais un message d'erreur dû au
statement= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
est affiché:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Row index out of range
Partager