FMDB的使用 一:瞭解FMDB的三個重要類 1.1 FMDataBase:提供SQLite資料庫的類,用來執行SQL語句 1.2 FMResultSet: 用在FMDatabase中執行查詢結果的類 1.3 FMDatabaseQueue:在多線程下查詢和更新資料庫用到的類 二:使用FMDB 2. ...
FMDB的使用
一:瞭解FMDB的三個重要類
1.1 FMDataBase:提供SQLite資料庫的類,用來執行SQL語句
1.2 FMResultSet: 用在FMDatabase中執行查詢結果的類
1.3 FMDatabaseQueue:在多線程下查詢和更新資料庫用到的類
二:使用FMDB
2.1 創建資料庫
FMDatabase *db = [FMDatabase databaseWithPath:@“/tmp/tmp.db”];
2.2 打開資料庫
2.3 資料庫更新(除了select語句外 都可以稱為更新操作)
2.4 資料庫查詢
通過調用 -executeQuery 來執行select語句進行查詢操作
成功會返回一個FMResultSet的對象
失敗會返回nil
(可以通過 -lastErrorMessage 和-lastErrorCode方法可以確認為什麼會查詢失敗)
為了遍歷查詢結果,需要 while() 迴圈,然後逐條記錄查看。在 FMDB 中,可以通過下麵的簡單方式實現:
FMResultSet *s = [db executeQuery:@"SELECT * FROM myTable"];
while ([s next]) {
.....
}
即使只需要獲取一個數據,也還是必須在訪問查詢結果前調用 -[FMResultSet next]。
FMResultSet *s = [db executeQuery:@"SELECT COUNT(*) FROM myTable"];
if ([s next]) {
int totalCount = [s intForColumnIndex:0];
}
FMResultSet 提供了很多方便的方法來查詢數據:
- intForColumn:
- longForColumn:
- longLongIntForColumn:
- boolForColumn:
- doubleForColumn:
- stringForColumn:
- dateForColumn:
- dataForColumn:
- dataNoCopyForColumn:
- UTF8StringForColumn:
- objectForColumn:
通常情況下,一個 FMResultSet 沒有必要手動 -close,因為結果集合 (result set) 被釋放或者源資料庫關閉會自動關閉。
2.5關閉資料庫
[db close];