Speicherung der Ergebnismenge in ein array
ich weiß, das sollte simpel und im vermutlich starrte direkt auf das problem, sondern wieder einmal im stecken und brauchen die Hilfe der code-gurus.
im Versuch zu nehmen Sie eine Zeile aus einer Spalte in jdbc -, und setzen Sie Sie in ein array.
ich mache das wie folgt:
public void fillContactList()
{
createConnection();
try
{
Statement stmt = conn.createStatement();
ResultSet namesList = stmt.executeQuery("SELECT name FROM Users");
try
{
while (namesList.next())
{
contactListNames[1] = namesList.getString(1);
System.out.println("" + contactListNames[1]);
}
}
catch(SQLException q)
{
}
conn.commit();
stmt.close();
conn.close();
}
catch(SQLException e)
{
}
creatConnection ist eine bereits definierte Methode, die das tut, was es offensichtlich tut.
ich creat mein Ergebnis eingestellt
während theres anderes,
ich Speichere den string, der die Spalte in ein array.
dann drucken Sie es aus für eine gute Maßnahme. zu stellen Sie sicher sein, es.
das problem ist, dass seine Speicherung der gesamten Spalte in contactListNames[1]
wollte ich es speichern, Spalte 1 Zeile 1 in [1]
dann Spalte 1 Zeile 2 in [2]
ich weiß, ich könnte dies mit einer Schleife. aber ich weiß nicht, auch nur eine Zeile zu einem Zeitpunkt aus einer einzigen Spalte. irgendwelche Ideen?
p.s ich habe gelesen, dass die api, die ich gerade nicht sehen, dass alles passt.
ResultSet
nur eine Spalte hat (d.h. name
wie Sie sehen können, dass aus der Abfrage), aber Sie wissen nicht, die Anzahl der Zeilen vor der Zeit. Anstatt also ein array verwenden, sollten Sie erwägen, eine List
.Die
close
geschehen sollte finally
. Können Sie get hier einigen nützlich Ideen.auch die max Größe des Arrays wurde 5, so das ist alles, was ich wirklich brauchte
InformationsquelleAutor OVERTONE | 2010-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie eine
ArrayList
dem alle Logik, um automatisch erweitern der array.List
anstelle von array. Zu der OP: lernen, hier mehr über die collection-API.ive nie benutzt arraylist vor. im havin Probleme, die folgenden der code da. ich gebe es einen Schuss in einer sec
Vereinbart, keine Notwendigkeit für die Anordnung, es sei denn, eine andere API erfordert, dass.
InformationsquelleAutor Kevin Brock
Meinst du so etwas wie:
names
array an die korrekte Größe. Eine Möglichkeit wäre die Ausführung einer count () - SQL-Anweisung zuerst. Ich würde empfehlen, aber mit einer collection (z.B. ArrayList).ziemlich viel. das ist irgendwie das, was er begann likle. aber ich entledigte sich die Schleife, bis ich herausfinden konnte, wie man eine Zeile zu einem Zeitpunkt. somethign liek diese while(rs.next()) { int i = 0; contactListNames[i] = namesList.getString(i); System.aus.println(" " + contactListNames[i]); }
InformationsquelleAutor Binil Thomas