iphone - 重新启动应用程序后,Sqlite插入丢失

标签 iphone objective-c sqlite

这是插入代码。直到我关闭应用程序并再次启动它,然后所有更改都消失了,它才能正常工作。我没有看到任何错误,这可能是某些特定于iPhone的问题吗?

const char *sql = "INSERT INTO offers "
                  "(OfferId, AddressId, ShortDescription, LongDescription, TimeStart, TimeEnd, Created, LastEdit) "
                  " VALUES (?, ?, ?, ?, ?, ?, ?, ?)";


sqlite3_stmt *stmt;
int returnValue = sqlite3_prepare(db, sql, -1, &stmt, NULL);
if(returnValue == SQLITE_OK) {
    for(NSDictionary *offer in offers) {
        sqlite3_bind_int(stmt, 1, [[offer valueForKey:@"OfferId"] intValue]);
        sqlite3_bind_int(stmt, 2, [[offer valueForKey:@"AddressId"] intValue]);
        sqlite3_bind_text(stmt, 3, [[offer valueForKey:@"ShortDescription"] UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_text(stmt, 4, [[offer valueForKey:@"LongDescription"] UTF8String], -1, SQLITE_TRANSIENT);
        sqlite3_bind_int(stmt, 5, [[offer valueForKey:@"TimeStart"] intValue]);
        sqlite3_bind_int(stmt, 6, [[offer valueForKey:@"TimeEnd"] intValue]);
        sqlite3_bind_int(stmt, 7, [[offer valueForKey:@"Created"] intValue]);
        sqlite3_bind_int(stmt, 8, [[offer valueForKey:@"LastEdit"] intValue]);

        if(sqlite3_step(stmt) != SQLITE_DONE)
            NSLog(@"instertOffers -> sql-error: %s", sqlite3_errmsg(db));
        else
            NSLog(@"added offer with id: %@", [offer valueForKey:@"OfferId"]);

        sqlite3_reset(stmt);
    }
} else {
    NSLog(@"instertOffers -> sql-error: %s", sqlite3_errmsg(db));
}

sqlite3_finalize(stmt);
sqlite3_close(db);

最佳答案

是AppBundle中的SQLite数据库文件,如果要进行更改,则需要将其复制到文档目录中。
您无法写入应用程序捆绑包中的任何文件。

关于iphone - 重新启动应用程序后,Sqlite插入丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6505192/

相关文章:

ios - 如何更改压入堆栈的 View Controller 的标题颜色?

ios - PageViewController点击事件

iphone - UIButton 文本大小问题

javascript - HTML5 SQLite 数据库位置

android - getWritableDatabase() VS getReadableDatabase()

iphone - NSDate 提前 1 小时?

ios - 在 Objective-C 中进行比较 - 使用 ARC 不允许将 'int' 隐式转换为 'id'

ios - 更新Google Plus和Facebook SDK后,应用在设备(iOS 6)上崩溃

python - django 找不到新的 sqlite 版本? (需要 SQLite 3.8.3 或更高版本(发现 3.7.17))

iphone - 哪些类可以用作 NSDictionary 中的键?