如何在sqlite3中插入db?显示错误

时间:2012-11-12 16:56:01

标签: objective-c ios database ios5

我试图将我的数据插入到成功创建的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];

}

1 个答案:

答案 0 :(得分:1)

您说返回的错误消息是:

  

无法更新行没有这样的表:STABLE

而且,问题恰恰在于:没有名为STABLE的表。你已经清楚地设法连接到一个数据库,但没有一个表格,你的名字就在那里。

真正的问题是如何在您创建表时?您连接的数据库可能不是您认为正在使用的数据库。