如何从适用于iPhone的SQLite中删除记录

iOS*_*Dev 5 iphone

如何从SQLite数据库中删除所有记录.

 +(BOOL)deleteFromtbl {
        sqlite3 *database;
        BOOL retValue = YES;
        if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
            const char *sqlStatement = "Delete from tbl";
            sqlite3_stmt *compiledStatement;
            retValue = sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL);
            sqlite3_finalize(compiledStatement);
        }
        sqlite3_close(database);

        return retValue;        
    }
Run Code Online (Sandbox Code Playgroud)

这些代码对我不起作用.

提前致谢.

Ish*_*shu 4

sqlite3_step,该函数需要在准备好编译语句之后。

这样使用

+(BOOL)deleteFromtbl {
        sqlite3 *database;
        BOOL retValue = YES;
        if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
            const char *sqlStatement = "Delete from tbl";
            sqlite3_stmt *compiledStatement;
            retValue = sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL);
if(SQLITE_DONE != sqlite3_step(compiledStatement))//add this line
    {
        NSLog(@"Error while inserting data. '%s'", sqlite3_errmsg(database));
        return NO;
    }
            sqlite3_finalize(compiledStatement);
        }
        sqlite3_close(database);

        return retValue;        
    }
Run Code Online (Sandbox Code Playgroud)