Problème avec ResulSet

Résolu
cs_sara21 Messages postés 5 Date d'inscription samedi 16 juin 2007 Statut Membre Dernière intervention 16 décembre 2009 - 8 déc. 2009 à 15:11
cs_sara21 Messages postés 5 Date d'inscription samedi 16 juin 2007 Statut Membre Dernière intervention 16 décembre 2009 - 16 déc. 2009 à 14:42
IA 2007
Bonjour
j'essaye de trouver une solution a mon problème pour mon application dont je dois la terminer cette semaine et que ça fais presque 3semaines que je suis avec,ça ressemble a ce problème mais ce que je veux faire c'est :
- je lance une requète pour afficher la liste des produits dans JTable
- dans une boucle de While(R1.next()),je prend l'élément de la table produit et je vais lancer une requete qui va m'envoyé sa quantité et son prix unitaire de la table QPM .
- le resultat retourné sera sur la mm ligne du produit.

je travail avec PostgreSql et java.

voici un peu de ma fonction:
public void remplirTableau()
{

PreparedStatement ps,ps2;
ResultSet R,R2;
RefrechData(Produit);
try
{
String requete = "SELECT * FROM produit ORDER BY ordre ASC ";
String requete2 "SELECT qnt,prix,montant FROM qpm WHERE qpm.intitule ? and qpm.code_t = 1 and qpm.jour=? " ;
ps = SeConnecter.connectBase.prepareStatement(requete,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ps2 = SeConnecter.connectBase.prepareStatement(requete2,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
R = ps.executeQuery();
while (R.next() )
{ nbrE++;}

try
{
R.first();
int n=0,i=1;
do
{
R.absolute(i);
String prod = R.getString(1);
String ordre = R.getString(2);
// coté du produit
Produit[n][0]= ordre;
Produit[n][1]= prod;
try{
do {
ps2.setString(1,Produit[n][1]);
ps2.setString(2,jour.getText());
R2 = ps2.executeQuery();
R2.absolute(i);
String qpt = R2.getString(1);
String pu = R2.getString(2);
String Montant = R2.getString(3);
Produit[n][3]= qpt;
System.out.println("requete2 qpt + "+qpt);
Produit[n][4]= pu;
Produit[n][5]= Montant; }
while(R2.next());

}

catch (SQLException er)
{
System.out.println("Une erreur dans la fonction remplir:" + er);
}


n++;i++;

}while(R.next());
tableProd.setAutoResizeMode (JTable.AUTO_RESIZE_ALL_COLUMNS);
}
catch (SQLException error)
{
System.out.println("Une erreur dans la fonction visualiser le tout" + error);
}
ps.close();
ps2.close();

}

catch (SQLException error)
{
System.err.println("Erreur SQL Affiche contenu :" + error);
}
}

le problème:
il m'affiche que le resultat du premier produit,puis il m'afiche erreur
"org.postgresql.util.PSQLExecption : le ResulSet n'est pas positionné correctement,vous devez peux-être appeler next()"

SVP aidez moi je vous serez trés reconnaissante.
Merci

6 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
9 déc. 2009 à 09:55
Salut,

ben fais un left join tout simplement
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 déc. 2009 à 15:18
Salut,

Pourquoi faire autant de requêtes pour celà ?

Je serais toi, je ferais une seule requête SQL avec une jointure, ce serait bien plus facile à manipuler, et surtout, ce sera bien plus rapide !!!
______________________________________
DarK Sidious
0
cs_sara21 Messages postés 5 Date d'inscription samedi 16 juin 2007 Statut Membre Dernière intervention 16 décembre 2009
8 déc. 2009 à 15:31
l'IA2007


parce que j'ai besoin d'afficher tout les produits mm si leur quantité est null pour le jour sélectionné,et dois apparaitre dans le tableau.
pour plus de détail c'est une application de gestion de stock.
il me reste juste ce petit problème et je suis limiter par le temps
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
9 déc. 2009 à 08:10
Meme limité par le temps, une requete avec une jointure c'est quand meme bien mieux et ca ne devrait pas te prendre des semaines.
0

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

Posez votre question
cs_sara21 Messages postés 5 Date d'inscription samedi 16 juin 2007 Statut Membre Dernière intervention 16 décembre 2009
9 déc. 2009 à 08:57
l'IA
quand je fais une jointure,elle ne prend que les produits qui sont communs dans les 2 tables,et moi je veux affiché tout les produits mème ceux qui n'existe pas dans la table "qpm".
merci pour vos réponses.
0
cs_sara21 Messages postés 5 Date d'inscription samedi 16 juin 2007 Statut Membre Dernière intervention 16 décembre 2009
16 déc. 2009 à 14:42
Merci pour votre aide,le LEFT JOIN a résolu mon problème.
merci
0
Rejoignez-nous