这是我调用并传递一个变量的SQLite代码。哪里有问题?
-(IBAction)insertPet:(NSString *) name{
NSString *query = [NSString stringWithFormat:@"Insert into pet (name) values ('%@');", name];
sqlite3_stmt *statement;
NSLog(@"1 - %@",query);
if(sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil)==SQLITE_OK)
{
NSLog(@"2 - %@",query);
if(SQLITE_DONE == sqlite3_step(statement)){
NSLog(@"Query - %@",query);
}
sqlite3_finalize(statement);
}
}
答案 0 :(得分:0)
我的猜测是您的数据库放在应用程序包中。如果是这种情况,则必须创建数据库的可写副本,以便能够执行更改数据库的查询(如INSERT或UPDATE)。最常用的方法是将数据库从捆绑包复制到Documents文件夹。
答案 1 :(得分:0)
对我有用的是从设备中删除应用程序,重新启动设备,在Xcode中清理应用程序然后再次加载,还要检查数据库中是否选择了目标成员资格。