0

我正在尝试在我的应用程序中添加 SQLite 支持,但遇到了问题,所以我尝试在 Internet 上搜索一些内容,并找到了一个教程。但问题是本教程使用的数据库是由应用程序读取的,但是当我添加我的个人数据库(我已经修改了代码)时,它没有被读取。有什么建议么?

这是(部分)代码:

static sqlite3 *database = nil;
if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK) {

    const char *sql = "select id,name from myDb";
    sqlite3_stmt *selectstmt;

    if(sqlite3_prepare_v2(database, sql, -1, &selectstmt, NULL) == SQLITE_OK) {
        while(sqlite3_step(selectstmt) == SQLITE_ROW) {

            id = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 0)];
            name = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt, 1)];


            dictionary = [[NSMutableDictionary alloc] initWithObjectsAndKeys:id, @"id", name, @"nome", nil];

            [dictionary release];
        }
    }


else{
    sqlite3_close(database);

}
4

1 回答 1

0

在 else 语句之前,您需要释放资源:

    // "Finalize" the statement - releases the resources associated with the statement.
    sqlite3_finalize(selectstmt);

声明的目的是什么release

于 2013-03-02T22:25:55.283 回答