Bonsoir, ou plutôt bonjour,

J'aimerais effectuer une requête de modification dans ma BDD, mais je me retrouve avec le message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
L'instruction SQL à exécuter ne peut être ni vide ni null
Dans mon apllication c'est ma 1ere requête UPDATE, donc peut être que je n'ai pas saisi son fonctionnement.

En faite dans mon formulaire, il n'y a aucun champ obligatoire, donc si en validant l'ensemble des champs sont vides, je voudrais que la requête s'execute quand même.

Voici la méthode qui fait me permet de lancer ma requête :
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
 
public boolean requeteModifMaterielBDetail(int fournisseur, String energie, String mat, String tablier, String roue,int horametre,
			int capacite,int fourche, int poids,String moteur, int longueurHt, int hauteur, int largeur, int longueurFourche,
			int sectionFourche, String galet, String jante, String option, String definition, String autre) {
 
		try {
			queryAjoutMaterielBis  = "UPDATE materiel SET energie_materiel = ?, mat_materiel = ?, tablier_materiel = ?, roue_materiel = ?,";
			queryAjoutMaterielBis += " heure_materiel = ?, capacite_materiel = ?, fourche_materiel = ?, moteur_materiel = ?,";
			queryAjoutMaterielBis += " longueur_hors_tout_materiel = ?, hauteur_basse__materiel = ?, largeur_materiel = ?, longueur_fourche_materiel = ?,";
			queryAjoutMaterielBis += " section_fourche_materiel = ?, galet_materiel = ?, jantes_materiel = ?, option_materiel = ?,";
			queryAjoutMaterielBis += " definition_materiel = ?, autre_materiel = ?, num_fournisseur = ?)";
			queryAjoutMaterielBis += " WHERE num_parc = (SELECT MAX(num_parc) from materiel)";
 
			//Préparation de la requête avec les données renvoyées par le formulaire d'authentification
			PreparedStatement stm = sqlc.prepareStatement(queryAjoutMateriel);
			stm.setString(1, energie);
			stm.setString(2, mat);
			stm.setString(3, tablier);
			stm.setString(4, roue);
			stm.setInt(5, horametre);			
			stm.setInt(6, fourche);
			stm.setInt(7, poids);
			stm.setString(8, moteur);
			stm.setInt(9, longueurHt);
			stm.setInt(10, hauteur);
			stm.setInt(11, largeur);
			stm.setInt(12, longueurFourche);
			stm.setInt(13, sectionFourche);
			stm.setString(14, galet);			
			stm.setString(15, jante);
			stm.setString(16, option);
			stm.setString(17, definition);
			stm.setString(18, autre);
			stm.setInt(19, fournisseur);
 
 
			//Execution de la requête
			stm.executeUpdate();			
			//Fermeture du Statement
			stm.close();
 
		} catch (Exception e) {
			e.printStackTrace();
 
			String errorMessage = "Une erreur est survenue lors de l'enregistrement. Réessayez ou contactez la personne qui s'occupe de votre logiciel\n\nCode erreur :\n "+e.getMessage();
			V_ChoixJDialog errorMarque = new V_ChoixJDialog(0, null, errorMessage, "Erreur lors de l'enregistrement", JOptionPane.ERROR_MESSAGE);
 
			//Renvoi false si l'ajout ne s'est pas déroulé correctement	
			return false;
		}
 
		return true;
	}
Sauriez vous pourquoi cette requête ne veut pas s'executer ?

J'ai pas mal chercher mais je n'ai pas trouver la réponse qu'il me fallait.

Par avance merci