2014-07-01 118 views
0

我已經編寫了它並且它的工作正常,並且數據保存在數據庫中,但在execute()語句後沒有執行語句。請幫我...我正在使用servlet和jsp進行項目

public static String addNewMember(MemberRegister成員){ 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

嘗試使用方法executeUpdate()(因爲INSERT是DML),其繼承自PreparedStatement。它會返回一個int值並檢查返回的int值是否被執行。

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

如果你想我可以發送一個修改後的代碼。