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:
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:
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:
Und wie erwähnt .. klappte einwandfrei.
Achso nochwas:
Das System.out gibt mir als Label an erster Stelle "id" zurück ..
Also MUSS es das ja geben ? -.-
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 ..)
Dann habe ich es mit dem Label probiert:
Code:
rs = stmt.executeQuery("SELECT COUNT(id) FROM "+tableName);
rs.next();
rowCount= rs.getInt("id");
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));
Also MUSS es das ja geben ? -.-
Zuletzt bearbeitet: