我试图将我的数据插入到成功创建的db.db中,但是数据没有插入到数据库中。但是在显示error.pls后检查我的代码
后数据成功进入insertsql-(void)insertDB
{
NSString *dname=[[NSString alloc]init];
dname=[delegate.Name objectAtIndex:0];
sqlite3_stmt *statement;
const char *dbpath=[delegate.databasepath UTF8String];
if (sqlite3_open(dbpath, &contactDB)==SQLITE_OK)
{
NSString *insertSQL=[NSString stringWithFormat:@"INSERT INTO STABLE (NAME) VALUES (\"%@\")",dname];
//insert sql is ok,after that they shows error
const char *insert_stmt=[insertSQL UTF8String];
NSLog(@"const char%@",insert_stmt);
sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement,NULL);
if (sqlite3_step(statement)==SQLITE_DONE)
{
NSLog(@"saved");
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"data" message:@"saved" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[self counting];
}
else
{
NSLog(@"Failed to add new favourites");
NSLog(@"Failed to update row %s", sqlite3_errmsg(contactDB));
}
sqlite3_finalize(statement);
sqlite3_close(contactDB);
}
[self loadmusic];
}
答案 0 :(得分:1)
您说返回的错误消息是:
无法更新行没有这样的表:STABLE
而且,问题恰恰在于:没有名为STABLE
的表。你已经清楚地设法连接到一个数据库,但没有一个表格,你的名字就在那里。
真正的问题是如何和在您创建表时?您连接的数据库可能不是您认为正在使用的数据库。