我正在嘗試FMDB,它看起來像它會完美的工作,如果我可以讓我的FMResultSet變成一個NSMutableArray。將FMResultSet轉換爲NSMutableArray?
我該如何做到這一點?
我正在嘗試FMDB,它看起來像它會完美的工作,如果我可以讓我的FMResultSet變成一個NSMutableArray。將FMResultSet轉換爲NSMutableArray?
我該如何做到這一點?
sample code for FMDB很清楚地說明了FMResultSet
的工作原理。通過在每次迭代中調用next
方法遍歷結果集中的行。在循環內使用數據訪問器方法來檢索當前行的每列數據。如果你想把它變成一個數組,你必須手動完成。就像這樣:
NSMutableArray *array = [NSMutableArray array];
FMResultSet *rs = [db executeQuery:@"select * from table"];
while ([rs next]) {
// Get the column data for this record and put it into a custom Record object
int col1 = [rs intForColumn:@"col1"];
int col2 = [rs intForColumn:@"col2"];
Record *record = [Record recordWithCol1:col1 col2:col2];
[array addObject:record];
}
[rs close];
正如你看到的,我假設你已經建立了一個自定義的Record
類,它表示在數據庫表中的記錄。當然,你也可以使用字典。
你可以試試這個。
NSMutableArray *array = [NSMutableArray array];
FMDatabase *database = [FMDatabase databaseWithPath:databasePath];
[database open];
FMResultSet *results = [database executeQuery:@"SELECT * FROM Table"];
while ([results next]) {
[array addObject:[results resultDictionary]];
}
NSLog(@"%@", array);
[database close];
我在項目中使用它,它工作得很好。
謝謝,這將工作,但會增加我的應用程序的開銷,但很好知道沒有更少 – Slee
你好,美好的一天!如果我可能會問,「Record * record」是什麼? – Jahm
鏈接斷開。請更新。 – esh