0

16 個のテーブルで構成される China.sqlite nel Bundle というデータベースがあります。メニューと呼ばれるテーブルからテーブル要素を開く必要があります。どうすればよいですか? 前もって感謝します

4

1 に答える 1

0
sqlite3 *database;

 NSString *databasePath = ......;


if (sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK){

    NSString *sqlString = @"SELECT ......."; //Query

    const char *sql = [sqlString UTF8String];
    if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) == SQLITE_OK) {

        while (sqlite3_step(statement) == SQLITE_ROW) {

//Get the first 3 coloms of table
            NSString *col1 = [NSString stringWithUTF8String:(char *) sqlite3_column_text(statement, 0)];
            NSString *col2 = [NSString stringWithUTF8String:(char *) sqlite3_column_text(statement, 1)];
            NSNumber *col3 = [NSString stringWithUTF8String:(char *) sqlite3_column_text(statement, 2)];

//save them in dictionary 

            returnDictionary = [NSDictionary dictionaryWithObjects:[NSArray col1, col2, col3, nil]
                                                           forKeys:[NSArray arrayWithObjects:@"Col1", @"Col2", @"Col3", nil]];

        }
    } else {
       //Error handling
    }


}

データベースファイルがメインバンドルにあると仮定します

NSString *databasePath = [[NSBundle mainBundle] pathForResource:@"China" ofType:@"sqlite"];
于 2012-09-25T14:08:50.763 に答える