16 個のテーブルで構成される China.sqlite nel Bundle というデータベースがあります。メニューと呼ばれるテーブルからテーブル要素を開く必要があります。どうすればよいですか? 前もって感謝します
質問する
170 次
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 に答える