LoCal Geschrieben 6. August 2002 Geschrieben 6. August 2002 Hei, bin ich blind oder gibt es keine Methode mit der ich feststellen kann, wie viele "Ergebnisse" ein SQL-Abfrage zurückgeliefert hat. Es is hier so, daß ich aus einer Datenbankkunden abfrage und das Ergebniss in einen Array-schreiben will. Leider habe ich keine Methode in "ResultSet" gefunden, die getRowCount() oder ähnlich heißt. Die einzige möglichkeit die mir eingefallen ist, wäre ans ende zu springen, dort die Reihennummer zu holen, dann wieder an den Anfang, den Array-erstellen und dann einlesen. Ist aber nicth besonders schön Warum ich keinen Vector verwende? Der hatte hier eine "Merkwürdigkeit", darum will ich lieber einen Array von meinem Objekt "kunde" verwenden. Thx Peace, Zitieren
Jaraz Geschrieben 6. August 2002 Geschrieben 6. August 2002 Hallo, es gibt keine Möglichkeit die Anzahl in nem Resultset zu erfahren da je nach JDBC Treiber teilweise schon mit dem Resultset gearbeitet werden kann, bevor sämtliche Daten empfangen wurden. Deswegen ist ResultSet auch nicht serialisierbar. Wirst also doch nen Vector oder ne ArrayList nehmen müssen. Gruß Jaraz Zitieren
Klotzkopp Geschrieben 6. August 2002 Geschrieben 6. August 2002 Oder vorher ein Statement mit COUNT absetzen. Ist manchmal die performantere Lösung, wenn auch bei sich schnell verändernden Datenbanken etwas unsicher... Zitieren
LoCal Geschrieben 6. August 2002 Autor Geschrieben 6. August 2002 Mittlerweile hab ich das mit dem Vector geklärt, aber irgendwie zeigen Vector und JComboBox in Verbindung ein Merkwürdiges verhalten. Peace, Zitieren
BMAS Geschrieben 6. August 2002 Geschrieben 6. August 2002 Man kann aber die Metadaten des ResultSets auslesen, einfach mal: ResultSetMetaData rsetmd = rset.getMetaData(); int cols = rsetmd.getColumnCount(); rset.last(); int rows=rset.getRow(); damit probieren, wobei rset dann dein ResultSet sein sollte. Du bekommst dadurch die Menge der Spalten und der Zeilen zurückgeliefert, vielleicht hilft dir das ja weiter, denn anhand der Zeilenanzahl kannst du bestimmen wieviele Ergebnisse du bekommen hast... Zitieren
LoCal Geschrieben 6. August 2002 Autor Geschrieben 6. August 2002 Original geschrieben von BMAS Man kann aber die Metadaten des ResultSets auslesen, einfach mal: int rows=rset.getRow(); damit probieren, wobei rset dann dein ResultSet sein sollte. Das hatte ich ja oben schon gemeint, aber ich finde es halt nicht die tollste Art und Weise wie mensch es machen kann. Peace, Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.