2016-11-15 20 views
0

私は、ユーザーがアカウント間で送金できるオンライン銀行振込セクションを作成しています。私はそれがユーザーのアカウントの量を表示するドロップダウンボックスがあります。私はこれを正しく行っているかどうかはわかりません。ここでは、これまで私のコードは次のとおりです。データベースクエリに基づいてドロップダウンボックスを作成しますか?

転送page.jsp

<form name="transfer" action="TransferServlet" method="post"> 
      <% 
       String email = (String) session.getAttribute("email"); 
       String getAccountType = UserProfileService.getAccountTypeByEmail(email); 
       int count = UserProfileService.getAmountOfAccounts(email); 
      %> 
      From Account: <select name="AccountType"> 

            <% 
             for(int i = 0; i < count; i++) 
             { 
            %> 
              <option> <%=getAccountType %> 
              <% 
             } 
            %> 
              </option> 
          </select> 
     </form> 

データベースクラス:

public static String getAccountTypeByEmail(String email) 
     { 
      // AccountType accountType = new AccountType(); 
      String getAccountType = ""; 
      try 
      { 
       Connection conn = DBConnection.getConnection(); 
       String query = "SELECT * FROM accountType WHERE email=?"; 
       PreparedStatement stmt = conn.prepareStatement(query); 
       stmt.setString(1, email); 

       ResultSet rs = stmt.executeQuery(query); 
       rs.next(); 

       getAccountType = rs.getString("accountType"); 

       // accountType.setAccountType(getAccountType); 

      } catch (Exception e) 
      { 
       System.out.println(e); 
      } 

      // return accountType; 
      return getAccountType; 
     } 

     public static int getAmountOfAccounts(String email) 
     { 
      int count = 0; 
      try 
      { 
       Connection conn = DBConnection.getConnection(); 
       String query = "SELECT count(*) FROM accountType WHERE email=?"; 
       PreparedStatement stmt = conn.prepareStatement(query); 
       stmt.setString(1, email); 

       ResultSet rs = stmt.executeQuery(query); 
       while(rs.next()) 
       { 
        String account = rs.getString("accountType"); 
        count++; 
       } 

      } catch (Exception e) 
      { 
       System.out.println(e); 
      } 

      return count; 
     } 

答えて

0

私はあなたがドロップダウンボックスショーに表示されますどのような状況下では分かりません口座の金額。複数の銀行カードを結合するアカウント? String getAccountType = UserProfileService.getAccountTypeByEmail(email);あなたのメソッドgetAccountTypeByEmail(String email)は1つの結果しか返しません。

関連する問題