2012-01-12 2 views
0

après l'exécution d'une requête en Java, dis que je suis le jeu de résultats commeGet resultset requête dans un tableau de chaîne 2d

allan murphy 20 10 
kenny rogers 12 22 
marry watson 34 5 

Je veux que ce résultat tout dans une variable afin que je puisse retourner la variable et l'utiliser dans d'autres fonctions d'appel. Je veux obtenir le résultat complet dans un tableau de chaînes 2D, de sorte que plus tard, je peux y accéder via l'indexation. Question: Est-ce un bon concept d'obtenir le résultat complet dans un tableau de chaînes 2D ?? ET Comment l'obtenir dans un tableau de chaînes 2D ?? merci

Répondre

0

Non, ce n'est pas un bon concept pour obtenir un ensemble de résultats dans un tableau d'insertion 2D. Utilisez un objet java pour représenter une seule ligne de données. Avoir des champs avec des getters et setters pour représenter chaque colonne. Convertissez chaque ligne dans cet objet et placez-la dans une liste ou une autre collection. Je ne suis pas sûr de savoir ce que les chiffres 10 et les autres chiffres représentent. Mais s'ils sont des entiers, ils devraient être maintenus comme des entiers à l'intérieur de l'objet au lieu de les convertir en une chaîne et de les reconvertir en entiers plus tard.

+0

Pouvez-vous élaborer? ou un exemple ou un lien ?? – Ronin

+0

Voici un lien - http://www.exampledepot.com/egs/java.sql/getrsdata.html. Au lieu de stocker les valeurs en tant que variables locales, placez-les dans un objet java. – sethu

1

Voilà comment votre méthode pour aller chercher le ResultSet devrait ressembler à:

public void getRecord() { 
     connectDB(); //method returning **con** of type Connection; 

     String query = "SELECT * From people"; //fetch whole record 
     Statement stmt; 

     try { 

      //execute query on open Connection 
      stmt = con.createStatement(); 
      System.out.println("Query executed!"); 

      //save result of query 
      ResulstSet rs; 
      rs = stmt.executeQuery(query); 

      //As long as Resultset has a next row... 
      while (rs.next()) { 

       //...Construct Object with people passing the Strings and Ints out of the DB 
       Player player= new Player(rs.getString("name"), rs.getString("surname"), 
              rs.getInt("number1"), rs.getInt("number2"));    
      } 

      stmt.close(); 
      con.close(); //close open Connection to DB 

     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 

et votre classe qui est en train de construire l'objet joueur pourrait ressembler à ceci:

public class Player{ 

private String name; 
private String surname; 
private int number1; 
private int number2; 

    public Player(String name, String surname, int number1, int number2) { 
     this.name= name; 
     this.surname= surname; 
     this.number1= number1; 
     this.number2= number2; 
    } 
} 

Maintenant vous avez un objet de chaque rangée de votre Resultset! En ajoutant setter et getters à la classe Player, vous pouvez extraire toutes les informations dont vous avez besoin.

Pour l'afficher il suffit de l'ajouter à une liste et d'appeler leur getter ou même d'implémenter une méthode qui vous délivre l'ensemble des informations à la fois.

Questions connexes