如何使用 jsp 更新 mysql table?

How to Update a mysql table using jsp?

我需要将 jsp 页面的一个字段更新为 mysql table。

我使用了这个代码:

int id=Integer.parseInt(request.getParameter("r"));

    switch(id)
    {
        case 0:
            ruolo="null";
            break;
        case 1:
            ruolo="Direttore";
            break;
        case 2:
            ruolo="Operaio";
            break;
        case 3:
            ruolo="Capo Reparto";
            break;
    }


    query="UPDATE dipendenti SET ruolo=? WHERE ID_dipendente="+caratteristiche[1]+"";
    PreparedStatement statement = null;
    statement=connessione.prepareStatement(query);
    statement.setString(1,ruolo);
    statement.executeUpdate();
    out.println("Successfully Updating Ruolo");

它没有给我错误,但是 table 没有更新。

caratteristiche[1]

是一个字符串,被称为 ID_dipendente。

怎么了?

statement.executeUpdate() returns 受影响的记录数。您应该检查 return 值是否符合您的预期。

 int count = statement.executeUpdate();
 if (count != 1) // assuming one record should be updated
       ... // handle or log the error

既然您已经在使用 PreparedStatement,您还应该为 ID_dipendente 参数使用一个参数:

query="UPDATE dipendenti SET ruolo=? WHERE ID_dipendente=?";
PreparedStatement statement = null;
statement=connessione.prepareStatement(query);
statement.setString(1,ruolo);
statement.setString(2,caratteristiche[1]);
int count = statement.executeUpdate();