2016-04-29 13 views
1

私は、MySQLからJavaへのすべての名前と行数を取得したいと思います。これまでのところ、私は行の総数を取得することしかできませんでしたが、私は姓を取得するだけです。ここで何が間違っていますか?MySQLからすべての名前を取得するには?

StaffManagement.java

adminAPI api= new adminAPI(); 
try { 
     int num= api.displayCheckBoxAndLabel(); 
     String allName= api.displayName(); 
     System.out.println(num+allName); 
} 

AdminAPIを

public int displayCheckBoxAndLabel() throws Exception // get the number of row 
    { 
     int count = 0; 
     String sql="Select count(*) AS adminID from admin"; 
     DatabaseConnection db = new DatabaseConnection(); 
     Connection conn =db.getConnection(); 
     PreparedStatement ps = conn.prepareStatement(sql); 
     ResultSet rs = ps.executeQuery(); 
     while(rs.next()) 
     { 
      count= rs.getInt("adminID"); 

     } 
     ps.close(); 
     rs.close(); 
     conn.close(); 
     return count ; 
    } 

    public String displayName() throws Exception // get all the name 
    { 
     String name = null; 
     String sql="Select name from admin"; 
     DatabaseConnection db = new DatabaseConnection(); 
     Connection conn =db.getConnection(); 
     PreparedStatement ps = conn.prepareStatement(sql); 
     ResultSet rs = ps.executeQuery(); 
     while(rs.next()) 
     { 
      name= rs.getString("name"); 

     } 
     ps.close(); 
     rs.close(); 
     conn.close(); 
     return name ; 
    } 
+1

にそれぞれの名前を返すために、forループを使用することができます

private String names[]; int i = 0; while (rs.next()) { names[i] = rs.getString("name"); i++; } 

役に立つかもしれません名;メソッドの戻り値の型をString []に変更します –

答えて

1

あなたは現在、単一Stringを返し、あなたの方法を反復する管理者名をすべて(ただし、最終行の後に終了それがあなたの結果です)。代わりに、名前のListを構築し、それを返します。 try-with-resources closecloseConnection,StatementResultSetのインスタンスを使用することもできます。

public List<String> displayName() throws Exception // get all the name 
{ 
    String sql = "Select name from admin"; 
    List<String> names = new ArrayList<>(); 
    DatabaseConnection db = new DatabaseConnection(); 
    try (Connection conn = db.getConnection(); 
      PreparedStatement ps = conn.prepareStatement(sql); 
      ResultSet rs = ps.executeQuery()) { 
     while (rs.next()) { 
      names.add(rs.getString("name")); 
     } 
    } 
    return names; 
} 
1

のようなもの。これは、その後、あなたの代わりに文字列のString []型の名前を使用するすべての名前を取得するにはStaffManagement.java

関連する問題