JDBC MySQL rowCount-Problem

lester

Grünschnabel
So .. kurz vor Verzweiflung : )
Vor allem weil es schonmal klappte.

Kurz und knapp: ich hätte gern die Anzahl der rows einer Tabelle.
In der Kommandozeile klappt es, dort gebe ich:
SELECT count(*) FROM user;
ein und erhalte die 2.

Derselbe Befehl gibt mir in der JAVA-Datei aber immer eine 0.
Habe es schon auf mehrere Wege probiert, hier mal der aktuelle Code:
Code:
Statement stmt = null;
	    ResultSet rs   = null;
	    int rowCount;
	    try {
	      stmt = conn.createStatement();
	      rs     = stmt.executeQuery("SELECT COUNT(*) AS rowcnt FROM "+tableName);
	      rs.next();
	      rowCount = rs.getInt("rowcnt");

             (etc ..)
Seltsam ist, wenn ich die Methode rs.first() ausgebe, bekomme ich ein true - aka, dass es einen ersten Wert gibt.
Dann habe ich es mit dem Label probiert:
Code:
rs   = stmt.executeQuery("SELECT COUNT(id) FROM "+tableName);
rs.next();
rowCount= rs.getInt("id");
Und bekomme eine Exception zurück:
java.sql.SQLException: Column 'id' not found.

Aber 'id' gibt es in der DB doch ?
Gestern klappte alles .. habe nur die DB neu aufgesetzt und id mit AUTO_INCREMENT versehen .. wüsste aber nicht warum das die Probleme verursachen sollte.
Ach und das Zählen der Columns geht einwandfrei, mit selber Syntax wie zuvor.

Warum bekomme ich eine 0 zurück und warum soll es das Feld id nicht geben ?
Auch die anderen Felder wie firstname, lastname, admin gibt es angeblich nicht.

Gestern hatte ich es so:
Code:
rs   = stmt.executeQuery("SELECT count(id) FROM "+tableName);
rs.next();
rowCount= rs.getInt(1);

Und wie erwähnt .. klappte einwandfrei.

Achso nochwas:
Code:
stmt = conn.createStatement();
	      rs   = stmt.executeQuery("SELECT * FROM " + tableName);
	      ResultSetMetaData rsMetaData = rs.getMetaData();
	      colCount = rsMetaData.getColumnCount();
	      System.out.println(rsMetaData.getColumnLabel(1));
Das System.out gibt mir als Label an erster Stelle "id" zurück ..
Also MUSS es das ja geben ? -.-
 
Zuletzt bearbeitet:
Hab ne 2. DB erstellt .. selbe Dinge probiert, selbe Ergebnisse .. dann wieder zurückgeswitcht und ka warum aber es geht.
Nix am Code geändert .. was weiß ich.
Jedenfalls keine Hilfe mehr notwendig.
 
Zurück