我正在使用servlet和jsp制作项目

时间:2014-07-01 08:12:27

标签: jsp servlets jstl

我写了这个并且它正常工作,数据保存在数据库中,但是在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;
}

1 个答案:

答案 0 :(得分:2)

尝试使用executeUpdate()方法(因为INSERT是DML),它继承自PreparedStatement。它将返回一个int值并检查返回的int值以查看它是否被执行。

executeUpdate()返回no。受影响的行。

如果您愿意,我可以发送修改后的代码。