SQL Datenbank/Anfragen

Hi!

  1. Wie kann ich überprüfen, ob ein ResultSet (rs) leer ist? Bisher mache ich das, indem ich rs.first() aufrufe. Damit wird mir angegeben, ob es einen ersten Eintrag gibt, also ein Boolean-Wert zurückgeliefert.
  2. Wie kann ich überprüfen, ob eine Datenbank noch leer ist?
    Das HypersonicSQL, das ich benutze, erzeugt bei Nichtvorhandensein der Datenbankdatei, erstmal diese Datei. Ich schreibe aber in einer Initialisierungsmethode etwas in diese Datenbank rein. Wenn da schon was drin ist, genau die gleiche Tabelle, wird dann eine SQLException geworfen oder wird es einfach überschrieben?
    Das Problem ist nämlich, dass ich wissen muss, was mit den Datenbankinhalten passiert, wenn ich mein Programm immer und immer wieder neu starte und damit auch die Initialisierungsmethode.
    Vielen Dank im voraus.

Gruss - lutz

Eine Frage vergessen
Hi nochmal!

Wie bestimmte ich die Grösse einer Tabelle, also wieviele Zeilen (Datensätze) es gibt? Danke!

Gruss - lutz

Also zu Punkt eins: Ein Java-Resultset wird üblicherweise
in eine while-schleife eingebunden etwa so:
while(resultset.next()){
// Der interne Zeiger des RS sitzt nach der Erzeugung auf
// position null. Den ersten Wert findest Du auf position 1.
// So kannst Du next in einer schleife benutzen
// ohne Wert 1 zu überspringen
// Innerhalb der Schleife mußt Du die Werte entsprechend
// ihrer java-variablentypen und ihrer pos in dem select-
// statement auslesen.
// z.B.
String name=rs.getString(1);
int i=rs.getInt(2);
//usw.
}
zu Punkt zwei:
Normalerweise solltest Du eigentlich alle Tabellen angelegt haben
wenn Du auf die Datenbank zu greifst.
Das sollte nicht erst während des Programabblaufs passieren.
Du kannst doch eigentlich nur vermnüftig mit einer datenbank arbeiten wenn Du die Tabellen,Spalten und Felder ganz genau kennst? Oder versteh ich Deine Frage nur falsch?

zu punkt drei kann ich nur sagen schau in das Manual zu Deinem
Datenbank System. Das lesen des Columncount ist nicht SQL-Standard und ist daher HypersonicSql spezifisch.(never heard, can’t exist) Vielleicht solltest Du als Einsteiger auf Mysql umsteigen,
Da findest Du ausgezeichnete Dokumentationen und auch mehr Leute
die sich damit auskennen. :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]