J'écris un programme qui va interroger une base de données d'accès MS, retourner la requête en tant qu'ensemble de résultats, puis je veux finalement convertir ce jeu de résultats en un tableau String, afin que je puisse passer dans le constructeur d'un JComboBox Swing - de sorte que le ComboBox listera les éléments renvoyés par la requête.Convertir le jeu de résultats Java en tableau de chaînes
J'ai été capable de stocker les lignes du jeu de résultats dans une ArrayList, puis de convertir cette ArrayList en un tableau d'objets, et la liste déroulante liste les éléments corrects, mais en tant qu'objets. Je ne peux simplement jamais lancer cette ArrayList dans un tableau String. Est-ce que quelqu'un sait si c'est possible? Voici une partie de mon code ...
// 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);
Quelqu'un peut-il offrir des suggestions? Merci!
MISE À JOUR:
Voici la trace de la pile que je reçois:
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)
Merci pour votre aide. J'ai essayé ce que vous avez suggéré, et je semble toujours obtenir ces exceptions sur String [] arrLocations = locations.toArray (new String [0]); – littleK
Maintenant, si cela ne vous dérange pas, s'il vous plaît partager la trace de la pile. –
J'ai ajouté la trace de la pile au message original, merci. – littleK