Mysql
 sql >> Database >  >> RDS >> Mysql

SQLException:il metodo executeQuery non può essere utilizzato per l'aggiornamento

Poiché stai inserendo un record, dovresti usare executeUpdate() non executeQuery() .

Ecco alcuni metodi che di solito vengono utilizzati in modo improprio:

booleano esegui()

ResultSet executeQuery()

int executeUpdate()

Un'altra cosa, la tua query è debole in quanto è vulnerabile con SQL Injection . Si prega di parametrizzare utilizzando PreparedStatement .

Esempio di frammento di codice:

String insertNewUserSQL = "INSERT INTO " + studentsTable + " VALUES (?, ?, ?, ?, ?, ?, ?)";
PreparedStatement pstmt = con.prepareStatement(insertNewUserSQL);
pstmt.setString(1, userName);
// ... repeat this step until the last parameter ....
pstmt.setString(7, email);
pstmt.executeUpdate();