如何使用 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();
我需要将 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();