cs_sara21
Messages postés5Date d'inscriptionsamedi 16 juin 2007StatutMembreDernière intervention16 décembre 2009
-
8 déc. 2009 à 15:11
cs_sara21
Messages postés5Date d'inscriptionsamedi 16 juin 2007StatutMembreDernière intervention16 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();
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
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 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
cs_sara21
Messages postés5Date d'inscriptionsamedi 16 juin 2007StatutMembreDernière intervention16 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
cs_sara21
Messages postés5Date d'inscriptionsamedi 16 juin 2007StatutMembreDernière intervention16 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.