Sto scrivendo un programma che interrogherà un database di accesso MS, restituirà la query come un set di risultati, e poi voglio convertire quel set di risultati in un array String, così posso passare nel costruttore di uno Swing JComboBox - quindi il ComboBox elencherà gli elementi restituiti dalla query.Converti il set di risultati Java in serie di stringhe
Sono stato in grado di memorizzare le righe del set di risultati in un ArrayList e quindi convertire tale ArrayList in un array di oggetti e la casella combinata elencherà gli elementi corretti, ma come oggetti. Non riesco semplicemente a trasmettere quell'ArrayList a un array String. Qualcuno sa se questo è possibile? Ecco alcuni dei miei codici ...
// Convert the Resultset into an array list
public ArrayList<ArrayList<Object>> Results2Array(ResultSet rs) throws SQLException {
ResultSetMetaData metaData = rs.getMetaData();
int columns = metaData.getColumnCount();
ArrayList<ArrayList<Object>> al = new ArrayList<ArrayList<Object>>();
while (rs.next()) {
ArrayList<Object> record = new ArrayList<Object>();
for (int i = 1; i <= columns; i++) {
Object value = rs.getObject(i);
record.add(value);
}
al.add(record);
}
return al;
}
// Convert ArrayList to Object Array, and pass into GUI
ArrayList<String> Locations = new ArrayList<String>();
ArrayList<String> Months = new ArrayList<String>();
ArrayList<String> Years = new ArrayList<String>();
try {
DB.loadDriver();
DB.makeConnection();
DB.buildStatement();
Locations = DB.getLocations();
Months = DB.getMonths();
Years = DB.getYears();
Object[] arrLocations = Locations.toArray();
Object[] arrMonths = Months.toArray();
Object[] arrYears = Years.toArray();
dbGUI ui = new dbGUI(arrLocations, arrMonths, arrYears);
ui.setVisible(true);
Qualcuno può offrire qualche suggerimento? Grazie!
UPDATE:
Ecco la traccia dello stack che sto ricevendo:
java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.Arrays.copyOf(Unknown Source)
at java.util.ArrayList.toArray(Unknown Source)
at kidsfirstdb.Main.main(Main.java:23)
Grazie per il vostro aiuto. Ho provato quello che mi hai suggerito, e mi sembra di avere ancora queste eccezioni su String [] arrLocations = locations.toArray (new String [0]); – littleK
Ora, se non ti dispiace, per favore condividi la traccia dello stack. –
Ho aggiunto la traccia dello stack al post originale, grazie. – littleK