2017-06-06 96 views
-8

我quering select empname from employee where empsal>5000如何將查詢結果傳遞給另一個方法

我得到了3(另外,3排一列),現在我想回到這個作爲字符串數組。

然後我想通過你的ResultSetrs.next()然後String數組作爲單獨的字符串

+5

是什麼阻止你?這是一個非常基本的任務/請求,您應該可以輕鬆地自行解決。 *如果*你不能這樣做,你至少應該告訴我們你到目前爲止已經嘗試了什麼,如何執行select語句等。 – luk2302

+0

你需要創建一個列表和類屬性 – MiOnIs

+0

你只需要做一個方法返回執行查詢時創建的列表(例如) – MaQuiNa1995

回答

0

迴路中串的每一行添加到ArrayList<String>。然後你可以通過它們的索引來獲得你的「單獨的字符串」。

1

更加面向對象的方法是按照建議循環遍歷結果集,但不是在數組中分配字符串,而是創建一個封裝從數據庫中檢索的數據的對象。只需將字符串存儲在數組中即可限制自己。使用反映您業務需求/域的對象。

例如:

import java.sql.ResultSet; 
import java.sql.Statement; 
import java.util.ArrayList; 
import java.util.List; 

public class Employee { 

    private String name; 
    private int salary; 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public int getSalary() { 
     return salary; 
    } 

    public void setSalary(int salary) { 
     this.salary = salary; 
    } 

} 

class DataAccessor { 

    public List<Employee> getEmployees() { 

     List<Employee> employeeList = new ArrayList<Employee>(); 

     String query = "select empname, empsal from employee where empsal>5000"; 

     // Create the database connection & statement somehow... 
     Statement stmt = createStatement(); 

     try { 
      ResultSet results = stmt.executeQuery(query); 

      while (results.next()) { 
       Employee employee = new Employee(); 
       employee.setName(results.getString(1)); 
       employee.setSalary(results.getInt(2)); 
       employeeList.add(employee); 
      } 
     } finally { 
      stmt.close(); 
     } 

     return employeeList; 
    } 

} 
相關問題