【发布时间】:2018-02-01 11:03:18
【问题描述】:
我正在尝试使用 Java mysql 和 Angular js 通过其 Id 更新一行 问题是我弄错了,数据库中没有任何变化
这是我的java函数:
public boolean modifierClient(int idclient, String nomcomplet, String mail,int numerocompte, String mdp) {
try
{
System.out.println("Edition du client avec le nom complet: " + idclient);
Connection con = Connexion.getConnection();
// L'insert avec mysql
String query = " UPDATE client SET nomcomplet = ?, mail = ?, numerocompte = ?, mdp = ? WHERE idclient = ?";
PreparedStatement ps = con.prepareStatement(query);
ps.setInt(1, idclient);
ps.setString (2, nomcomplet);
ps.setString (3, mail);
ps.setInt (4, numerocompte);
ps.setString (5, mdp);
ps.executeUpdate();
if(ps.executeUpdate() > 0) {
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
System.out.println("Erreur avec modifierClient() -->" + e.getMessage());
return false;
}
}
这是我的控制器功能:
@POST
@Path("modifierClient/{idclient}/{nomcomplet}/{mail}/{numerocompte}/{mdp}")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public boolean modifierClient(@PathParam("idclient") int idclient, @PathParam("nomcomplet") String nomcomplet, @PathParam("mail") String mail,@PathParam("numerocompte") int numerocompte, @PathParam("mdp") String mdp) {
ClientDao dao = new ClientDao();
return dao.modifierClient(idclient,nomcomplet,mail,numerocompte,mdp);
}
还有我的 Angular js 函数:
$http.post('rest/client/modifierClient/'+idclient+'/'+$scope.fullname+'/'+$scope.mail+'/'+$scope.numcompte+'/'+$scope.mdp).then(function(data){
alert('modified '+data.data);
})
我需要你的帮助,谢谢。
【问题讨论】:
-
不要为同一个查询调用两次
ps.executeUpdate()。 -
ps.setInt(1, idclient);但这应该是ps.setInt(5, idclient);你已经混合了你的参数索引...这取决于定义的String中从左到右的顺序。 -
@AxelH 谢谢你对我的帮助
标签: javascript java mysql angularjs