Bonjour j'ai réessayer de modifier un caractère sarah avec le 'h' je voudrais donc le changer sara sans ce 'h' dans ma base de donnée avec le preparedStatement.executeUpdate () :

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
package com.mycompany.tennis.core;
 
import java.sql.*;
 
 
 
public class TestDeConnection {
    public static void main(String... args){
        Connection conn = null;
        try {
            //Seulement avant Java 7/JDBC 4
            //Class.forName(DRIVER_CLASS_NAME);
 
            //MySQL driver MySQL Connector
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/tennis?useSSL=false&useLegacyDatetimeCode=false&serverTimezone=Europe/Paris","root","root");
           /* Statement statement = conn.createStatement();
            ResultSet rs = statement.executeQuery("SELECT NOM , PRENOM ,ID FROM JOUEUR WHERE ID=12");*/
            PreparedStatement preparedStatement=conn.prepareStatement("UPDATE JOUEUR SET  NOM=? , PRENOM=? ,WHERE ID=?");
            long identifiant = 24L;
            String nom="Errani";
            String prenom="Sarahh";
            preparedStatement.setString(1,nom);
            preparedStatement.setString(2,prenom);
            preparedStatement.setLong(3,identifiant);
 
           int modifier= preparedStatement.executeUpdate();
 
           /*
            while (rs.next()){
                final  String nom=rs.getString("NOM");
                final  String prenom=rs.getString("PRENOM");
                final Long id=rs.getLong("ID");
                System.out.println("Le joueur / La joueuse reresente par le numero "+id+"est"+nom+prenom);
            }
            */
            System.out.println("EnregistrementModifier="+modifier);
            System.out.println("success update");
        } catch (SQLException e) {
            e.printStackTrace();
        }
        finally {
            try {
                if (conn!=null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

le message d'errreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
"C:\Program Files\Java\jdk-17.0.1\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2021.3.3\lib\idea_rt.jar=50165:C:\Program Files\JetBrains\IntelliJ IDEA 2021.3.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\mouni\OneDrive\Documents\Cours cnam\core\target\classes;C:\Users\mouni\.m2\repository\mysql\mysql-connector-java\8.0.13\mysql-connector-java-8.0.13.jar;C:\Users\mouni\.m2\repository\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar" com.mycompany.tennis.core.TestDeConnection
java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ID=24' at line 1
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:974)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1113)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1061)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1381)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:1046)
	at com.mycompany.tennis.core.TestDeConnection.main(TestDeConnection.java:26)
 
Process finished with exit code 0




l'image de la base de donnée a modifier :

Nom : Bdd.PNG
Affichages : 227
Taille : 52,6 Ko