0

アプリに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);

}
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 に答える