iOS 數據庫FMDN 數據庫的增 刪 改 查 的 的基本操作 – iPhone手機開發技術文章 iPhone軟體開發教學課程

FMDB的下載地址 (https://github.com/ccgus/fmdb)
話不多說首先將這個 庫加進來,在將加進來,OK 準備工作就緒上代碼。

#import “DDViewController.h”

#import “FMDB.h”

@interface
DDViewController ()

{

FMDatabase *db;

}

@end

@implementation DDViewController

/**

* 要先做要有個位置去存放數據庫 ios下Document路徑,Document為ios中可讀寫的文件夾並且要創建一個數據庫的列表

*/

– (void)viewDidLoad

{

[super
viewDidLoad];

// db = [FMDatabase new];

NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);

NSString *documentDirectory = [paths
objectAtIndex:0];

//dbPath:
數據庫路徑,在Document中。

NSString *dbPath = [documentDirectory
stringByAppendingPathComponent:@”Test.db”];

//創建數據庫實例 db
這裡說明下:如果路徑中不存在”Test.db”的文件,sqlite會自動創建”Test.db”

db= [FMDatabase
databaseWithPath:dbPath] ;

if (![db
open]) {

NSLog(@”Could not open db.”);

return ;

}

//為數據庫設置緩存,提高查詢效率

[db
setShouldCacheStatements:YES];

// 1.創建一個表
表的名字 為User

[self
creatTable];

//2.向表中添加數據

[self
insertData:@”草帽” age:23];

//3.查看結果

[self
ResultSet];

}

//創建一個表

-(void)creatTable

{

//創建表的時候
最好判斷下自己的之前的工作有麼有做好

if (!db) {

NSLog(@”數據庫不存在”);

}

if (![db
open]) {

[db
open];

}

//判斷是否存在這張名字為User的表
如果沒有 創建

if (![db
tableExists:@”User”]) {

//創建一個名為User的表,有兩個字段分別為string類型的Name,integer類型的
Age

[db
executeUpdate:@”CREATE TABLE User (Name text,Age integer)”];

// [self insertData:@”草帽” age:24];

}

}

//插入數據

-(void)insertData:(NSString *)name age:(int)age

{

//插入數據使用OC中的類型 text對應為NSString integer對應為int的整型

[db
executeUpdate:@”INSERT INTO User (Name,Age) VALUES (?,?)”,name,[NSNumber
numberWithInt:age]];

}

//查詢結果

-(void)ResultSet

{

//返回數據庫中第一條滿足條件的結果

NSString *aa=[db
stringForQuery:@”SELECT Name FROM User WHERE Age = ?”,@”20″];

NSLog(@”aa is %@”,aa);

FMResultSet *rs=[db
executeQuery:@”SELECT * FROM User”];

// rs=[db executeQuery:@”SELECT * FROM User WHERE Age = ?”,@”23″];

while ([rs next]){

NSLog(@”%@ %@”,[rs
stringForColumn:@”Name”],[rs
stringForColumn:@”Age”]);

}

[rs
close];

}

//修改表內容

-(void)Modify

{

[db
executeUpdate:@”UPDATE User SET Name = ? WHERE Name = ? “,@”李四”,@”張三”];

}

– (void)didReceiveMemoryWarning

{

[super
didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *