SQLite sqlite3_prepare_v2 kein Fehler, aber nicht ok-weder

Hey Leute, ich bin nur spielen, um mit SQLite-also das ist neu für mich. Ich habe eine Ansicht, in der Personen, die Daten können sowohl gespeichert und gefunden werden. Die speichern-Funktion und die finden-Funktion funktioniert perfekt. Jetzt habe ich eine neue Ansicht mit einer tableView in es. Ich möchte alle Personen in der Kontakte-Tabelle und füllen Sie die Liste mit ihm.

Bis jetzt habe ich:

-(void)viewWillAppear:(BOOL)animated {
    const char *dbpath = [databasePath UTF8String];
    sqlite3_stmt *statement;

    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
    {
        NSLog(@"Opened DB");
        NSString *querySQL = [NSString stringWithFormat:@"SELECT name FROM contacts"];

        const char *query_stmt = [querySQL UTF8String];
        NSLog(@"could not prepare statement: %s\n", sqlite3_errmsg(contactDB));

        if (sqlite3_prepare_v2(contactDB, query_stmt, -1, &statement, NULL) == SQLITE_OK)
        //if (sqlite3_step(query_stmt) == SQLITE_DONE)
        {
            //NSLog(@"SQLite OK");
            NSLog(@"SQLite ok");
            //if (sqlite3_step(statement) == SQLITE_ROW)
            //{
                while(sqlite3_step(statement) == SQLITE_ROW) {
                    NSLog(@"SQLite ROW");
                    NSString *person = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 0)];
                    [personsList addObject:person];
                }
            //} else {
            //   NSLog(@"Emtpy list");
            //}
            sqlite3_finalize(statement);
        }
        sqlite3_close(contactDB);
    }
    NSLog(@"Calling reload");
    NSLog(@"%@", personsList);
    [tabelView reloadData];
}

Dies ist alles in viewWillAppear. Wenn die Ansicht geladen wird und fertig, das log sagt:
2011-05-06 10:45:26.976 database[1412:207] Opened DB

2011-05-06 10:45:26.978 database[1412:207] could not prepare statement: not an error

2011-05-06 10:45:26.979 database[1412:207] Calling reload

2011-05-06 10:45:26.979 database[1412:207] (

)

So scheint es, die Aussage ist nicht ein Fehler, aber sqlite3_prepare_v2 ist nicht SQL_OK, nachdem alle. Keine Hilfe?

EDIT: In der vorherigen Ansicht, der Anweisung zum anlegen einer person: @"INSERT INTO CONTACTS (name, address, phone) VALUES (\"%@\", \"%@\", \"%@\")", name.text, address.text, phone.text];

Die Anweisung für die Suche nach jemanden ist: @"SELECT address, phone FROM contacts WHERE name=\"%@\"", name.text];

Diesen beiden Aussagen zu arbeiten und die Daten angezeigt werden.

InformationsquelleAutor Joetjah | 2011-05-06
Schreibe einen Kommentar