profiter
Messages postés205Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention15 mars 2013
-
3 sept. 2011 à 16:44
Celfyk
Messages postés5Date d'inscriptionmercredi 7 septembre 2011StatutMembreDernière intervention 7 septembre 2011
-
7 sept. 2011 à 17:18
bonjour,
j'ai deux tables :
voici le code de creation :
public static final String table_facture_f__Name = "facture_f";
static final String[] TABLE_fature_f =
{
"n_facture_f varchar(20) NOT NULL" ,
"date_ff date NOT NULL" ,
"id_f int not null " ,
"mt_ht_ff double precision not null ",
"mt_ttc_ff double precision not null " ,
"mp double precision ",
"rp double precision ",
"PRIMARY KEY (n_facture_f, id_f)" ,
"CONSTRAINT FKPRq FOREIGN KEY (id_f) REFERENCES fournisseur (id_f) ",
};
public static final String table_contenu_ff_Name = "contenu_ff";
static final String[] TABLE_contenu_ff =
{
"n_commande_f int(6) zerofill NOT NULL" ,
"n_facture_f varchar(20) NOT NULL" ,
"id_f int not null",
"CONSTRAINT qz4 FOREIGN KEY (id_f) REFERENCES fournisseur (id_f) " ,
"constraint a1e PRIMARY KEY (n_commande_f)",
"CONSTRAINT a2v FOREIGN KEY (n_commande_f) REFERENCES commande_f (n_commande_f) ",
"CONSTRAINT a3xw FOREIGN KEY (n_facture_f) REFERENCES facture_f (n_facture_f) "
};
je veux afficher le numero et la date et le total ht et le total ttc et la livraison
quand le numero de facture egale dans la table contenu_ff a une valeur donné et le id_f egale a une valeur donné dans les deux tables
alors j'aifait :
String req2 "select contenu_ff.n_commande_f, date_cf ,t_ht,t_ttc, livraison from commande_f, contenu_ff where contenu_ff.id_f commande_f.id_f and contenu_ff.n_facture_f = '" + num +"'and contenu_ff.id_f = '"+ obj+"' ";
rs = st.executeQuery(req2);
mais ca me affiche n'importe quoi
avez vous une idee
merci bien
Celfyk
Messages postés5Date d'inscriptionmercredi 7 septembre 2011StatutMembreDernière intervention 7 septembre 2011 7 sept. 2011 à 17:18
Plusieurs remarques :
[list][*] tu veux que contenu_ff.id_f = commande_f.id_f ET contenu_ff.id_f = '"+ obj+"' " , ce qui reviens à dire que commande_f.id_f = '"+ obj+"' " ?? pourquoi pas mais de mon point de vu, cela peux entrainer des erreurs.
[*] pour plus de lisibilité et éviter les risques de confusion, garde un format [table].[champ] à chaque fois
[*] Encore pour la lisibilité, ajoute des alias au nom de tes tables (ex : FROM table AS alias)
[*] Pour préserver tes yeux et ceux de ton prochain, quand tu as la chance d'utiliser des noms de tables et de champs en minuscules, met les instructions SQL en majuscules.
[*] Toujours pour la lisibilité, segmente l'implémentation de ta variable utilisée pour la requête. Au risque d'alourdir un petit peu le temps d'exécution (je ne sais pas, c'est peut être préjudiciable dans certain cas)
/list
Après ces conseils avisés, voici ce que j'en dis :