2012-04-04 19 views
0
Integer c=0; 

DatabaseHelper dbh1 = new DatabaseHelper(this); 
Cursor ca = dbh1.getReadableDatabase().query(DatabaseHelper.TABLE_NAME, null, null, null, null, null, null); 

while (ca.moveToNext()) 

{ 
    String Ans6 = ca.getString(ca.getColumnIndex(DatabaseHelper.VALUE6)); 
    if (Ans6.equals("Automatic")) 
     { 
     c+=1; 
     } 
} 
String strI = Integer.toString(c); 

Toast toast=Toast.makeText(this, strI, 2000); 
toast.show(); 

Ich habe eine SQlite-Datenbank in Android eingerichtet. Die Tabelle wurde erfolgreich eingerichtet, und ich versuche, Werte aus Spalte VALUE6 zu überprüfen, wenn sie mit Automatisch übereinstimmt. Der Cursor muss jede Zeile durchlaufen und den Wert von VALUE6 in dieser Zeile überprüfen und zurückgeben, wie viele Zeilen automatisch sind. Ist mein Code richtig? irgendwelche Ideen? strI gibt jedes Mal 0 zurück, wenn ich den Code ausführe.Überprüfen von Einträgen in einem Datenbankproblem mit einer While-Schleife

Antwort

1

Das ist ein brutaler Weg, es zu tun. Warum fragen Sie nicht nach diesem Wert und erhalten dann die Anzahl der Zeilen im zurückgegebenen Cursor?

Cursor ca = dbh1.getReadableDatabase().query(DatabaseHelper.TABLE_NAME, null, DatabaseHelper.VALUE6 + "='AUTOMATIC'", null, null, null, null); 
int count = ca.getCount(); 

Hoffe, das hilft!

+1

Beachten Sie diese Weisheit. Mach, dass die Datenbank deine Arbeit für dich erledigt, wenn du kannst. – Argyle

+0

DANKE Barak. Dies passiert, wenn Sie nicht wissen, wie Sie abfragen können. –

+0

@Argyle - Ich muss lernen, wie –

Verwandte Themen