我写了这个并且它正常工作,数据保存在数据库中,但是在execute()语句之后没有执行任何语句。请帮帮我......
public static String addNewMember(MemberRegister member){ String message = null; 尝试 {
if(!(IsUserValid(member.getEmail()))){
conn=getConnection();
System.out.println("user not exist");
callStmt = conn.prepareCall("{call insertMember(?,?,?)}");
callStmt.setString(1, member.getCompanyName());
callStmt.setString(2, member.getEmail());
callStmt.setString(3, member.getPassword());
//register the OUT parameter before calling the stored procedure
System.out.println(callStmt.execute());
//read the OUT parameter now
message="Record added successfully";
}
else{
message="Record already exists";
}
}
catch(SQLException e)
{
e.printStackTrace();
}
finally
{
try {
if(callStmt != null)
callStmt.close();
if(conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
System.out.println("Hello "+message);
return message;
}
答案 0 :(得分:2)
尝试使用executeUpdate()方法(因为INSERT是DML),它继承自PreparedStatement。它将返回一个int值并检查返回的int值以查看它是否被执行。
executeUpdate()返回no。受影响的行。
如果您愿意,我可以发送修改后的代码。