ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
303
303
EMPFEHLEN
-
22.01.12 16:57 #1
Hallo,
ich verzweifle hier schon langsam. Ich versuche schon seit Stunden ein Problem zu lösen, leider ohne Erfolg. Daher wende ich mich an euch
Problem:
Ich bekomme immer den Wert "0" Ausgegeben obwohl in einer Test-Ausgabe die korrekte Anzahl dargestellt wird.
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
public int count() { try{ Class.forName(db_driver); try{ Connection db = DriverManager.getConnection(db_url, db_username, db_password); if(search_item.equals("1")) { String rowStatement = "SELECT id, inhalt FROM news WHERE inhalt LIKE ?"; PreparedStatement row_prepStmt = db.prepareStatement(rowStatement); row_prepStmt.setString(1, "%" + search_value + "%"); ResultSet row_rs = row_prepStmt.executeQuery(); row_rs.next(); row_rs.last(); rows = row_rs.getRow(); System.err.println("News: " + rows); row_rs.close(); } else if(search_item.equals("2")) { String rowStatement = "SELECT id, username FROM users WHERE username LIKE ?"; PreparedStatement row_prepStmt = db.prepareStatement(rowStatement); row_prepStmt.setString(1, "%" + search_value + "%"); ResultSet row_rs = row_prepStmt.executeQuery(); row_rs.next(); row_rs.last(); rows = row_rs.getRow(); System.err.println("User: " + rows); row_rs.close(); } db.close(); } catch(Exception db_error) { System.out.println(db_error); } } catch(Exception db_driver_error) { System.out.println(db_driver_error); } return rows; }
In Zeile 24 kommt "2" raus, was auch stimmt. Aber wenn ich mitarbeite erhalte ich "0". Wer kann mir helfen?Code :1
count()
LG Masterpurzel
-
22.01.12 17:21 #2
- Registriert seit
- Jun 2009
- Beiträge
- 870
"rows" ist offensichtlich ein Attribut, denn es wird nicht in dieser (von dir angegebenen Methode count() ) deklariert. Kannst du ganz sicher stellen, dass niemand auf dieses Attribut zur gleichen Zeit zugreifen kann? Probier es doch mal lieber mit einer Variable in der Methode count(). Wenn du den Wert sowieso zurückgibst, brauchst du ihn wohl kaum in einem Attribut speichern.
Wenn das nichts helfen sollte, würde ich den Debugger auf alle Schreibzugriffe aufs Attribut rows setzen und dann mir mal ansehen, was da passiert.Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
22.01.12 17:27 #3
Ich habe es ganz oben als
deklariert. Die Rückgabe war ja nur als Test, ob da überhaupt was passiert (Fehler-Ursache-Suche)!. Ich brauche das Attribut wegen diesem Code-Teil:Code :1
int rows;
Code java:1 2
private suche_spalten[] suche = new suche_spalten[count()]; //weiterarbeit mit "suche"...
Aber danke schon mal für die Antwort!
Ähnliche Themen
-
Ergebnis soll immer 2 Nachkommastellen haben
Von keks1984 im Forum .NET CaféAntworten: 20Letzter Beitrag: 22.08.07, 15:17 -
$zufall - immer das gleiche Ergebnis - Mysql
Von elena6 im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 25.03.07, 18:54 -
Es wird nur 1 Ergebnis ausgegeben
Von kaeZe im Forum PHPAntworten: 4Letzter Beitrag: 29.05.06, 22:52 -
mysql_fetch_row - immer ein Ergebnis zu wenig
Von lazi im Forum PHPAntworten: 1Letzter Beitrag: 23.09.04, 20:11 -
Bekomme nur ein Ergebnis zurück
Von Sevenger im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 24.11.03, 13:14





Zitieren
Login





