![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Benutzer Registriert seit: 08.02.2005 Ort: Wien
Beiträge: 85
|
Hallo, ich hätte gerne eine Größe eines ResultSet, bevor ich mich durcharbeite. Ich möchte wenn möglich aber keinen extra Query dafür an die Datenbankschicken, weil dieser bis auf die Zugabe von COUNT genau gleich wäre, und ich mit nur einem Query auskommen möchte. Geht das, wenn ja, wie? MfG
__________________ Kosmetik Hobby |
| | |
| | Nach oben #3 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 581
|
Ich nehme mal an du brauchst die Größe für ein Array das du erstellen möchtest? Das Problem hatte ich auch, habe dann einfach auf Vector umgeschwenkt, das hat sich mehr angeboten. Wirklich helfen tut dir das aber nicht. Gruß Sparrow |
| | |
| | Nach oben #4 |
| Benutzer Registriert seit: 08.02.2005 Ort: Wien
Beiträge: 85
|
@sparrow: Genau, hätte gern ein Array gehabt, ein String-Array um genau zu sein, weil ich das dann an eine JSP sende und dort gerne alles mit Arrays mache. @Ben: Meine Queries wären 2 mal beinahe gleich. Ich dachte mir, das hätte eine schlechte Performace. Das ganze sollte für ein Gästebuch und in späterer Folge für ein Forum sein. Da will ich dann pro Seite maximal 10 Postings haben. Ich bin aber gerade draufgekommen, dass ich nur ganz am Anfang einmal die Anzahl der gesamten Postings zu zählen, dann einen Zähler auf diesen Wert setzen und bei neuen Einträgen weiter zählen. Dadurch habe ich immer die Gesamtanzahl der Postings. Mit dem Modulo Operator bekomme ich dann ganz leicht die Anzahl der Posts für die letzte Seite meines Gästebuches. Danke trotzdem
__________________ Kosmetik Hobby |
| | |
| | Nach oben #5 |
| Erfahrener Benutzer Registriert seit: 16.11.2005
Beiträge: 242
|
Du kannst Dir aus dem ResultSet die MetaDaten holen mit Java Code: über die ResultSetMetaData Geschichte stehen Dir dann viele Möglichkeiten zu Verfügung so allerlei über Deinen ResultSet zu erfahren. zum Bleistift: Java Code:
|
| | |
| | Nach oben #6 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.512
|
@nove: das habe ich jetzt schon das zweite mal von dir gehört und mir mal angeschaut, was denn die meta-daten eigentlich sind und ich muss sagen ..ThumbsUp* laut kann man da ja echt informative sachen rausfinden. sehr gut. *merk-ResultSetMetaData* danke ... grüße ben. |
| | |
| | Nach oben #8 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.512
| Zitat:
gar nicht! | |
| | |
| | Nach oben #9 |
| Gast
Beiträge: n/a
|
@Nove Man kann mit einem ResultSet NICHT herausfinden, wie viele Datensätze (ROWs) geliefert wurden, auch nicht mit den MetaData-Klassen. Das Beispiel welches du geliefert hast, liefert dir die Anzahl SPALTEN.. Java Code:
Nur um Missverständnisse aus dem Weg zu räumen. Dies ist ein wesentlicher Schwachpunkt der JDBC.. Ich habs auch immer mit "select count(*) .." gelöst. Greets |
|
| | Nach oben #10 |
| Gast
Beiträge: n/a
|
@LordOfCodes: Stimmt ... das könnten die irgendwie mal in einer der nächsten Versionen von JDBC einbauen !! Ich mach das immer mit einem Vector ... erst alles in den Vector rein ... und anschliessend durch den Vector rennen und alles in ein Array packen ... ist wahrscheinlich nicht sehr elegant aber es geht. |
|
| | Nach oben #11 |
| Benutzer Registriert seit: 08.02.2005 Ort: Wien
Beiträge: 85
|
@nove: Ich habe bisher nicht wirklich viel mit Datenbankanbindung gearbeitet, nur das, was wir in der Schule beigebracht bekamen. Da kam das ResultSetMetaData leider nicht vor, höre jetzt zum ersten mal davon. @LordOfCodes Das Count(*) wollte ich eben nicht einsetzen, weil ich die Anzahl meiner Statements möglichst klein halten will. @ehli75 Genau dieses durchackern durch den Vector wollte ich eben verhindern. @all Ich habe, wie bereits geschrieben, schon eine andere Lösung für mein Problem gefunden. Trotzdem danke für die rege Anteilnahme. MfG
__________________ Kosmetik Hobby |
| | |
| | Nach oben #12 |
| Erfahrener Benutzer Registriert seit: 16.11.2005
Beiträge: 242
|
@LordOfCodes sorry da bin ich wohl den falschen Gedankenpfad getrampelt. eigentlich müsste es aber auch so gehen: Java Code:
("wasauchimmer" durch String,char,int oder wasauchimmer ersetzen) |
| | |
| | Nach oben #13 | |
| Gast
Beiträge: n/a
| Zitat:
Wenn man bedenkt, das JDBC die Abfragen nur durchreicht, bedeutet das entweder, das alle Datenbanken aller Hersteller umgeschrieben werden müssen oder das JDBC das Ergebnis komplett selbst im Speicher halten muß, um die Anforderung zu erledigen. Letzteres ist allerdings bei großen Abfragen gefährlich, wenn man nicht - wie bei Windows-Rechner ohnehin nötig Außerdem muß zunächst die gesamte Abfrage aus der Datenbank geholt werden, bevor ein solches Ergebnis zurückgegeben werden kann. Immerhin ist das Problem für diesen Spezialfall schon gelöst Viele Grüße Fuzzy. | |
|
| | Nach oben #14 |
| Gast
Beiträge: n/a
|
Hi, bin neu hier und hab den Thread graderst entdeckt, deshalb gebe ich einfach nochmal meinen Senf dazu: Also wie mein Vorredner schon richtig angemerkt hat, ihr habt eine falsche Vorstellung vom ResultSet, das ganze arbeitet Asynchron zum Programm und holt mit ".next()" immer den nächsten Datensatz aus der Datenbank (oder dem Cache). Ein ResultSet-Objekt enthält also nicht das komplette Ergebnis der Abfrage im Speicher, man stelle sich nurmal vor man macht eine Query über 1.000.000 Datensätze! Oder hat mehrere Megabyte große BLOBs. Deshalb ist es auch nicht wirklich sinnvoll das ganze in ein Array zu kopieren, es fällt bei kleineren Anwendungen wie einem Gästebuch aber nicht auf. Über den Performance verlust bei einem "SELECT COUNT(id) ..." würde ich mir weniger Sorgen machen, dafür hat die Datenbank extra logiken. Gruß Tim |
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Icon an Größe von JButton automatisch anpassen. | Lautsprecher | Desktop-Applikationen und Grafik | 2 | 20.10.2005 15:19 |
| Canvas Größe | Lengen1971 | Desktop-Applikationen und Grafik | 2 | 29.09.2005 08:56 |
| JButton größe festlegen | Souljumper | Desktop-Applikationen und Grafik | 5 | 02.07.2005 15:42 |
| JFrame mittig und unveränderbar in der Größe | Gottzilla | Desktop-Applikationen und Grafik | 3 | 01.07.2005 14:22 |
| Applet größe Anpassen | Java_Newbie | Desktop-Applikationen und Grafik | 5 | 23.06.2005 21:04 |