Bonjour,
Comme il m'a été conseillé dans un sujet précédent d'utiliser des "PreparedStatement" à la place de simples "Statement", je suis donc en train de faire des essais en fonction du FAQ.
J'ai un problème car NetBeans ne m'accepte pas le code qui est inscrit dans le FAQ.
Donc le FAQ dit ceci :
Moi j'ai écris cela (les variables url, utilisateur, motDePasse ont été définies juste avant le try) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 String sql = "UPDATE Stocks SET prix = ?, quantite = ? WHERE nom = ?"; //préparation de la requête PreparedStatement preparedStatement = connection.prepareStatement(sql);
Mais NetBeans s'oppose à mon code de la ligne 27 et me propose ceci :
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 //chargement du pilote try { Class.forName("com.mysql.jdbc.Driver"); //Class.forName("mysql-connector-java-5.1.29-bin.jar"); System.out.println("chargement pilote"); } catch (ClassNotFoundException e) { System.out.println("erreur ClassNotFoundException e dans Fen1"); } //Connection à la base de données try { System.out.println("connexion BDD"); Connection connexion = DriverManager.getConnection( url, utilisateur, motDePasse ); } catch (SQLException e) { System.out.println("SQLException erreur"); } try { Connection connexion = DriverManager.getConnection( url, utilisateur, motDePasse ); String sql = "SELECT * FROM client WHERE ville = ?"; PreparedStatement prep1 = connexion.prepareStatement(sql); } catch (SQLException e) { e.printStackTrace(); }
Si je clique sur la première ligne (Cast ... preparedStatement(...) to PreparedStatement), NetBeans me rajoute "(PreparedStament)" comme suit et retire l'avertissement d'erreur :Cast ... preparedStatement(...) to PreparedStatement
Change type of prep1 to PreparedStatement
Si je clique sur 'Change type of prep1 to PreparedStatement), NETBeans change mon code comme suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part PreparedStatement prep1 = (PreparedStatement) connexion.prepareStatement(sql);
Je ne comprends pas pourquoi le code proposé par le FAQ ne convient pas à NetBeans !?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.sql.PreparedStatement prep1 = connexion.prepareStatement(sql);
Partager