標籤:
下面不廢話了直接上代碼??
/* 首先把FMDB拖入到工程中,需要我們把sqlite3這個庫匯入工程,(若是非ARC的工程,我們可以直接匯入就好) 資料庫--》操作大量的有規律的資料 FMDB是別人在系統資料庫的繁瑣的基礎上給又封裝了一下,供我們使用,--》相比於系統資料庫更簡單,好用 FMDatabase 主要是提供操作時用得sql語句 FMDatabaseAdditions.h 只要是負責多線程或是查詢時更新時的操作 FMDBResultSet 結果集,對資料庫的操作,返回結果 *///建立一個FMDatabase類的對象,這個對象用來操作資料庫 db = [[FMDatabase alloc] initWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/pop.sqlite"]]; //開啟資料庫--》指的是開啟時有可能會出現異常,若出現異常就關閉,若沒有出現異常就直接執行下面的代碼 if (![db open]) { //關閉資料庫 [db close]; return; } //對資料庫中表的操作,添加,刪除,修改 //看錶是不是在資料庫 ---》執行表的操作,匯入FMDatabaseAdditions.h if (![db tableExists:@"people"]) { [db executeUpdate:@"CREATE TABLE people (peopleid INTEGER PRIMARY KEY,peoplename TEXT,peopleage INTEGER)"]; } //關閉資料庫 [db close ]; //插入 //開啟資料庫 if (![db open]) { [db close]; return; } //設定緩衝---》提高效率 [db setShouldCacheStatements:YES]; //執行插入的操作 [NSNumber numberWithInt:22];把整數類型轉換成NSNumber物件類型 [db executeUpdate:@"INSERT INTO people(peoplename,peopleage) VALUES (?,?)",@"白童童",[NSNumber numberWithInt:22]]; //關閉資料庫 [db close]; //刪除 要知道哪一行,-->上面去 if (![db open]) { [db close]; return; } BOOL isSuccess = [db executeUpdate:@"DELETE FROM people WHERE peopleid = ?",[NSNumber numberWithInt:_peopleId]]; //檢測sql語句是否書寫正確--》1時正確 0相反 NSLog(@"9------%d",isSuccess); [db close]; //更新//開啟資料庫 if (![db open]) { [db close]; return; } //設定緩衝 [db setShouldCacheStatements:YES]; //執行更新 [db executeUpdate:@"UPDATE people SET peoplename = ?WHERE peopleid=?",@"史冬峰",[NSNumber numberWithInt:_peopleId]]; [db close]; //更新UI//開啟資料庫 if (![db open]) { [db close]; return; } //設定緩衝 [db setShouldCacheStatements:YES]; //執行查詢 //添加,刪除,修改,都是對資料庫中的表進行操作,查詢是把資料庫中的資料給讀取出來(結果集) FMResultSet *rs = [db executeQuery:@"SELECT *FROM people"]; //去建立一個數組出來用來儲存讀取出來的資料 //移除數組中已經添加過的資料,想要出現一次一個 [peopleArray removeAllObjects]; //遍曆結果集,每次唯讀取一條資料 while ([rs next]) { //從結果集中把剛才讀取的資料取出來,--》把取出的資料資訊給封裝一個people類--》建立people類 ZYPeople *p = [[ZYPeople alloc] init]; //根據資料在資料庫中的類型來取(欄位--欄位類型)--》去給people描述幾個相應的屬性 p.pID = [rs intForColumn:@"peopleid"]; p.pName = [rs stringForColumn:@"peoplename"]; p.pAge = [rs intForColumn:@"peopleage"]; [peopleArray addObject:p]; } //關閉結果集 [rs close]; //關閉資料庫 [db close]; [。。。 reloadData];
iOS - FMDB資料庫的使用