我想删除现有sqlite DB中的所有数据,这是我正在使用的代码:
sqlite3* database;
databaseName = @"AppDB";
NSString *pathToDatabase;
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
pathToDatabase = [documentsDir stringByAppendingPathComponent:databaseName];
int databaseReturnCode = sqlite3_open([pathToDatabase UTF8String], &database);
NSLog(@"databaseReturnCode %d",databaseReturnCode);
if(databaseReturnCode == SQLITE_OK) {
const char *sql = "delete from AppDB";
sqlite3_stmt *delete_statement;
sqlite3_prepare_v2(database, sql, -1, &delete_statement, NULL);
sqlite3_bind_int(delete_statement, 1, 1);
printf( "error or not an error? : %s\n", sqlite3_errmsg(database) );
sqlite3_reset(delete_statement);
sqlite3_finalize(delete_statement);
}
sqlite3_close(database);
此DB中有多个字段和多个表。请让我知道错误是什么。提前谢谢。
答案 0 :(得分:2)
请评论此sqlite3_bind_int(delete_statement, 1, 1);
行并运行代码,因为在查询中您没有任何需要绑定的参数。我也徘徊这个查询存在吗?你能直接这样做吗从someDatabase中删除吗?我认为没有任何查询需要数据库名称! (我希望AppDB
是表名。)
[我们应该遵循标准命名约定以便于理解。]
谢谢