Bonjour,

Comme dit le titre,
je viens de créer une requête mais le code de celle-ci me semble bien moche...
Je dois mal m'y prendre ou autre. Quelqu'un aurrait t'il des conseils SVP.

Je vous remercie d'avance.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
public ArrayList<Contrat> findListContrat(int numContrat, String nomContrat, String prenomContrat, Date dateNaissanceContrat, int codePostalContrat){
 
		// déclaration
		ArrayList<Contrat> listeContrat = new ArrayList<Contrat>(); 
		int argRequete = -1;
		String sql = "SELECT * FROM Contrat"; 
 
		// recupération du nombre de d'argument
		if (numContrat != 0)argRequete++;
		if (nomContrat != null)argRequete++;
		if (prenomContrat != null)argRequete++;
		if (dateNaissanceContrat != null)argRequete++;
		if (codePostalContrat != 0)argRequete++;
 
		// création de la requête
		if ((numContrat != 0) || (nomContrat != null) || (prenomContrat != null) || (dateNaissanceContrat != null) || (codePostalContrat != 0)){
			sql = sql + " WHERE";
		}
		if (numContrat != 0){
			sql = sql + " numContrat = " + numContrat;
			if (argRequete != 0){
				sql = sql + " AND";
				argRequete--;
			}
		}
		if (nomContrat != null){
			sql = sql + " nomContrat = '" + nomContrat + "'";
			if (argRequete != 0){
				sql = sql + " AND";
				argRequete--;
			}
		}
		if (prenomContrat != null){
			sql = sql + " prenomContrat = '" + prenomContrat + "'";
			if (argRequete != 0){
				sql = sql + " AND";
				argRequete--;
			}
		}
		if (dateNaissanceContrat != null){
			sql = sql + " dateNaissanceContrat = " + dateNaissanceContrat;
			if (argRequete != 0){
				sql = sql + " AND";
				argRequete--;
			}
		}
		if (codePostalContrat != 0){
			sql = sql + " codePostalContrat = " + codePostalContrat;
			if (argRequete != 0){
				sql = sql + "AND";
				argRequete--;
			}
		}
 
		System.out.println(sql);
 
                          //...
}