2012-01-12 2 views
0

после выполнения запроса в Java, скажем, я получил набор результатов, какПолучить результирующий запрос в 2d массив строк

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

Я хочу, чтобы весь этот набор результатов в переменную, так что я могу вернуть переменную и использовать его в других вызывающих функциях. Я хочу получить весь набор результатов в массив 2D String, чтобы позже я смог получить к ним доступ посредством индексации.

Вопрос: Это хорошая концепция, чтобы получить весь набор результатов в массив 2D String? И как получить его в массив 2D String? thankz.

ответ

0

Нет, это не очень хорошая концепция, чтобы получить набор результатов в массив 2d sting. Используйте объект java для представления одной строки данных. Поля с геттерами и сеттерами должны представлять каждый столбец. Преобразуйте каждую строку в этот объект и поместите в список или другую коллекцию. Я не уверен, что представляют собой 20 10 и другие цифры. Но если они являются целыми числами, они должны быть помещены как целые числа внутри объекта, а не преобразовывать их в строку и снова переводить их обратно в целые числа.

+0

Не могли бы вы уточнить? или любой пример или ссылку? – Ronin

+0

Вот ссылка - http://www.exampledepot.com/egs/java.sql/getrsdata.html. Вместо сохранения значений в качестве локальных переменных, установите их внутри объекта java. – sethu

1

Вот как ваш метод для извлечения результирующего набора должен выглядеть следующим образом:

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(); 
     } 
    } 

и ваш класс, который строит игрок объект может выглядеть следующим образом:

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; 
    } 
} 

Теперь у вас есть объект каждой строке вашего набора результатов! Добавляя сеттер и геттеры к классу Player, вы можете извлечь любую необходимую информацию.

Чтобы отобразить его, просто добавьте его в список и вызовите его получатель или даже реализуйте метод, который предоставляет вам весь набор информации одновременно.

Смежные вопросы