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.

InformationsquelleAutor Lauren Quantrell | 2011-05-12

Schreibe einen Kommentar