难以访问db记录

时间:2013-03-02 22:18:29

标签: cocoa-touch sqlite

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

这是代码的一部分:

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);

}

1 个答案:

答案 0 :(得分:0)

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

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

release声明的目的是什么?