sql >> Databáze >  >> RDS >> Mysql

SQLException:metodu executeQuery nelze použít pro aktualizaci

Protože vkládáte záznam, měli byste používat executeUpdate() ne executeQuery() .

Zde jsou některé metody, které se obvykle zneužívají:

boolean execute()

ResultSet executeQuery()

int executeUpdate()

Ještě jedna věc, váš dotaz je slabý, protože je zranitelný pomocí SQL Injection . Proveďte prosím parametrizaci pomocí PreparedStatement .

Ukázkový úryvek kódu:

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();


  1. PDO::ERRMODE_EXCEPTION nepotlačí varování

  2. Dotaz MySQL s podmíněným příkazem?

  3. Funkce PostgreSQL vracející více sad výsledků

  4. Enum v režimu spánku, přetrvávající jako enum