歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> iOS開發:數據存儲之SQLite數據庫操作

iOS開發:數據存儲之SQLite數據庫操作

日期:2017/3/1 10:02:50   编辑:Linux編程

SQLite,是一款輕型的數據庫,它設計目的是為了嵌入式程序的使用。Sqlite是由C實現,占用內存小,而且運行效率很高。所以現在也被廣泛用於包括浏覽器(支持html5的大部分浏覽器,ie除外)、ios、Android、windowphone等移動設備以及一些便攜需求的小型web應用系統。

由於sqlite的使用廣泛,不能一一涉及,因此在這裡就討論一下SQLite數據庫在ios開發中的一些使用方法。

在使用sqlite前需要首先引入sqlite的庫,由於sqlite是用C寫的,objc可以直接使用C代碼。但在使用sqlite前,一般都會使用Cocoatouch框架,這樣可以與objc保持一致,有利於開發的方便。這裡引用的Frameworks就是libsqlite3.dylib或libsqlite3.0.dylib。

在完成Frameworks引用之後,需要在操作sqlite數據庫的.m文件中引入相應的頭文件。#import “sqlite3.h”,這樣這能使用sqlite數據庫了。

而數據庫中最常用的操作就是創建數據庫、創建表、對數據的增刪改查、刪除數據庫和刪除表。下面對這些操作進行一一示范。

在使用數據庫之前需要建立相應數據庫文件,而數據庫文件是保存在文件系統。因此在創建或打開數據庫之前,需要清楚數據庫所在位置。這裡我們把數據庫文件放到Documents目錄下。

在.h文件中也加入#import“sqlite3.h”,並建立一個成員變量,sqlite3*database;

在.m文件中的代碼如下:

//找到Documents目錄

NSArray *docArr =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSAllDomainsMask, YES);

//選用數組中的第一個文件路徑

NSString *docPaths = [docArrobjectAtIndex:0];

//為自己的數據庫文件建立相應的文件路徑

NSString *sqlitePaths = [docPathsstringByAppendingPathComponent:@"testdb.sqlite"];

//判斷數據庫文件是否存在,存在既打開,不存在就創建,sqlite3_open的第一個參數是指數據庫文件名稱,第二個參數是指數據庫句柄

if (sqlite3_open([sqlitePathsUTF8String], &database)==SQLITE_OK) {

NSLog(@"open sqlite db ok!");

}

在數據庫打開後,如果沒有相應的數據表,需要建立相應的數據表。下面就是建表的代碼:

//在數據庫打開後,如果沒有數據表,需要建立相應的數據表

- (void)createTable

{

//收集錯誤信息字符

char *errorMsg;

constchar *createSql = "create table if not exists persons(idinteger primary key autoincrement,name kext)";

if (sqlite3_exec(database, createSql,NULL, NULL, &errorMsg) ==SQLITE_OK) {

NSLog(@"create ok.");

}

}

Copyright © Linux教程網 All Rights Reserved