2017-06-06 4 views
-8

Ich Quering select empname from employee where empsal>5000wie das Abfrageergebnis an eine andere Methode zu übergeben

Ich habe 3 Zeilen (eine Spalte mit 3 Zeilen) und jetzt möchte ich dies als String-Array zurück.

Und dann will ich die Saiten in dem String-Array als separater String

+5

Was halten Sie davon? Das ist eine sehr einfache Aufgabe, die Sie selbst lösen können. * Wenn * das nicht möglich ist, sollten Sie uns zumindest zeigen, was Sie bisher versucht haben, wie Sie die Select-Anweisung ausführen usw. – luk2302

+0

Sie müssen eine Liste erstellen und mit den Eigenschaften – MiOnIs

+0

müssen Sie nur eine Methode erstellen Dies gibt die Liste (Beispiel) zurück, die Sie beim Ausführen der Abfrage erstellt haben – MaQuiNa1995

Antwort

0

Schleife durch Ihre ResultSet mit rs.next() und dann zu einem ArrayList<String> jede Zeile hinzufügen. Dann können Sie Ihre "separaten Strings" nach ihrem Index erhalten.

1

Ein eher objektorientierter Ansatz wäre es, die Ergebnismenge wie vorgeschlagen durchzulaufen, aber anstatt Strings in einem Array zuzuweisen, erstellen Sie ein Objekt, das die Daten einkapselt, die Sie aus der Datenbank abrufen. Sie beschränken sich zu sehr, indem Sie einfach Strings in einem Array speichern. Verwenden Sie ein Objekt, das Ihre Geschäftsanforderungen/Domäne widerspiegelt.

Zum Beispiel:

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

} 
Verwandte Themen