SQLite iOS 插入数据 [英] SQLite iOS Insert data

查看:32
本文介绍了SQLite iOS 插入数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在我的 sqlite 文件中只插入一个名称.我正在使用此代码,但它不起作用:/

Im trying to insert just one name to my sqlite file. im using this code but it's not working :/

-(void)InsertRecords:(NSMutableString *) txt{
    if(addStmt == nil) {
        const char *sql = "INSERT INTO myMovies (movieName)  VALUES(?) ";
        if(sqlite3_prepare_v2(database, sql, -1, &addStmt, NULL) != SQLITE_OK)
            NSAssert1(0, @"Error while creating add statement. '%s'", sqlite3_errmsg(database));
        else
            sqlite3_bind_text(addStmt, 1, [txt UTF8String], -1, SQLITE_TRANSIENT);
    }
    if(SQLITE_DONE != sqlite3_step(addStmt))

        NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));
    else
        sqlite3_reset(addStmt);
}

推荐答案

好吧,我终于成功了!这是我为所有需要它的人使用的代码:

ok finally I made it ! this is the code that I used for everyone who need it :

-(void)InsertRecords:(NSMutableString *)txt{

    NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"movieData.sqlite"];
    const char *dbpath = [dbPath UTF8String];
    sqlite3 *contactDB;

    sqlite3_stmt    *statement;

    NSLog(@"%@",dbPath);
    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK)
    {
        NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO myMovies (movieName) VALUES ("%@")", txt];

        const char *insert_stmt = [insertSQL UTF8String];

        sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL);
        if (sqlite3_step(statement) == SQLITE_DONE)
        {
            sqlite3_bind_text(statement, 1, [txt UTF8String], -1, SQLITE_TRANSIENT);
        } else {
            NSLog(@"error");
        }
        sqlite3_finalize(statement);
        sqlite3_close(contactDB);
    }
}

这篇关于SQLite iOS 插入数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆