首先,将附件中的檔案加入到項目中,并在頭檔案中加入以下代碼:
Ios代碼
- #import "FMDatabase.h"
然後,在Frameworks中導入libsqlite3.0.dylib。
1、執行個體化一個FMDatabase對象,并打開一個資料庫,如果沒有這個資料庫,則會建立一個資料庫
Ios代碼
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *documentDirectory = [paths objectAtIndex:0];
- NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];
- FMDatabase *db= [FMDatabase databaseWithPath:dbPath] ;
- if (![db open]) {
- [db release];
- return ;
- }
2、建立表
Ios代碼
- [db executeUpdate:@"CREATE TABLE Users(Name text, Age integer)"];
3、插入資料
Ios代碼
- [db executeUpdate:@"INSERT INTO Users(Name, Age) VALUES(?, ?)", @"Eric", [NSNumber numberWithInt:25]]
4、更新資料
Ios代碼
- [db executeUpdate:@"UPDATE Users SET Name = ? WHERE Name = ? ", @"Michael", @"Eric"];
5、删除資料
Ios代碼
- [db executeUpdate:@"DELETE FROM Users WHERE Name = ?", @"Michael"];
6、查詢資料
Ios代碼
- NSString *userName = [db stringForQuery:@"SELECT Name FROM Users WHERE Age = ?", @"25"];
這樣就查詢傳回了一條資料,如果查詢傳回多條資料怎麼辦呢?
FMResultSet是一個結果集,傳回多條資料時,FMDB會将資料放在這個結果集中,然後再對這個結果集進行查詢操作即可。
Ios代碼
- FMResultSet *rs = [db executeQuery:@"SELECT * FROM Users"];
- rs = [db executeQuery:@"SELECT * FROM Users WHERE Age = ?", @"25"];
- while ([rs next]){
- NSLog(@"%@ %@", [rs stringForColumn:@"Name"], [rs stringForColumn:@"Age"]);
- }
- [rs close];
FMDB位址:https://github.com/ccgus/fmdb