Zählt die Anzahl der Zeilen in eine SQLite-Datenbank
Ich versuche den folgenden code, um die Anzahl der Zeilen in meiner SQLite Datenbank-Tabelle, aber es wirft eine exception. Ist dies ein einfacher Weg, dies zu tun?
- (void) countRecords {
int rows = 0;
@try {
NSString *dbPath = [self getDBPath];
if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK) {
NSString *strSQL;
strSQL = @"SELECT COUNT(*) FROM MYTABLE";
const char *sql = (const char *) [strSQL UTF8String];
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(database, sql, -1, &stmt, NULL) == SQLITE_OK) {
//THIS IS WHERE IT FAILS:
if (SQLITE_DONE!=sqlite3_step(stmt) ) {
NSAssert1(0,@"Error when counting rows %s",sqlite3_errmsg(database));
} else {
rows = sqlite3_column_int(stmt, 0);
NSLog(@"SQLite Rows: %i", rows);
}
sqlite3_finalize(stmt);
}
sqlite3_close(database);
}
}
@catch (NSException * e) {
NSLog(@"Error Counting");
}
}
Was ist der name der Tabelle "innerhalb" der Datenbank?
Tut mir Leid. Ich war vage. Ich meinte zum zählen der Zeilen in einer Tabelle, keine Datenbank.
Tut mir Leid. Ich war vage. Ich meinte zum zählen der Zeilen in einer Tabelle, keine Datenbank.
InformationsquelleAutor Lauren Quantrell | 2011-05-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stieß ich auf eine Lösung mit meinem code von oben, nur anstelle der step-Anweisung mit dem folgenden code:
InformationsquelleAutor Lauren Quantrell
Dies funktioniert in der Regel für mich
}
HTH
InformationsquelleAutor Jeremy Bassett
Es ist keine SQL-Ausdruck zum zählen der Zeilen in einer Datenbank: Sie können die Anzahl der Zeilen in einer jeden Tabelle und fügen Sie Sie dann.
InformationsquelleAutor Femi
Ich dachte, ich würde meine in meine zwei Cent hier, da gibt es einen Ausdruck zum zählen der Zeilen in einer Datenbank, ich benutze es im Umgang mit MySQL-Datenbanken Verwendung von php-Skripts die ganze Zeit. und getestet habe ich es in eine ios-app erhältlich ist Sie auch drin, siehe:
keine Notwendigkeit für einen schicken loop-counter Sache. btw, wenn Ihr mit einem auto-Inkrement int für den Primärschlüssel. es funktioniert nur etwas anders, dann wird ein array-Schlüssel. wo, wie in einem array mit n Elementen lange die gültig, die array Elemente werden von 0 bis n-1 in eine Datenbank-das Tastenfeld von 1 bis n einfach genug, um zu arbeiten, um, wenn Sie nur im Kopf behalten.
InformationsquelleAutor Kit Ramos
InformationsquelleAutor Charles Robertson
Müssen Sie zählen, jede Tabelle einzeln. Einige pseudo-code:
InformationsquelleAutor Paul Lefebvre