天天看點

FMDB的CRUD

首先,将附件中的檔案加入到項目中,并在頭檔案中加入以下代碼:

Ios代碼  

FMDB的CRUD
  1. #import "FMDatabase.h"  

然後,在Frameworks中導入libsqlite3.0.dylib。

1、執行個體化一個FMDatabase對象,并打開一個資料庫,如果沒有這個資料庫,則會建立一個資料庫

Ios代碼  

FMDB的CRUD
  1. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
  2. NSString *documentDirectory = [paths objectAtIndex:0];  
  3. NSString *dbPath = [documentDirectory stringByAppendingPathComponent:@"Test.db"];  
  4. FMDatabase *db= [FMDatabase databaseWithPath:dbPath] ;  
  5. if (![db open]) {  
  6.     [db release];  
  7.     return ;  
  8. }  

2、建立表

Ios代碼  

FMDB的CRUD
  1. [db executeUpdate:@"CREATE TABLE Users(Name text, Age integer)"];  

3、插入資料

Ios代碼  

FMDB的CRUD
  1. [db executeUpdate:@"INSERT INTO Users(Name, Age) VALUES(?, ?)", @"Eric", [NSNumber numberWithInt:25]]  

4、更新資料

Ios代碼  

FMDB的CRUD
  1. [db executeUpdate:@"UPDATE Users SET Name = ? WHERE Name = ? ", @"Michael", @"Eric"];  

5、删除資料

Ios代碼  

FMDB的CRUD
  1. [db executeUpdate:@"DELETE FROM Users WHERE Name = ?", @"Michael"];  

6、查詢資料

Ios代碼  

FMDB的CRUD
  1. NSString *userName = [db stringForQuery:@"SELECT Name FROM Users WHERE Age = ?", @"25"];  

這樣就查詢傳回了一條資料,如果查詢傳回多條資料怎麼辦呢?

FMResultSet是一個結果集,傳回多條資料時,FMDB會将資料放在這個結果集中,然後再對這個結果集進行查詢操作即可。

Ios代碼  

FMDB的CRUD
  1. FMResultSet *rs = [db executeQuery:@"SELECT * FROM Users"];  
  2. rs = [db executeQuery:@"SELECT * FROM Users WHERE Age = ?", @"25"];  
  3. while ([rs next]){  
  4.   NSLog(@"%@ %@", [rs stringForColumn:@"Name"], [rs stringForColumn:@"Age"]);  
  5. }  
  6. [rs close];  

FMDB位址:https://github.com/ccgus/fmdb