1 pièce(s) jointe(s)
Probléme executeUpdate() modifier base de donnée
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:
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:
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 :
Pièce jointe 625225