Phone也支援訪問本機資料庫Sqlite 3。這裡簡單的介紹一下iPhone上Sqlite 3的使用方法。
- 首先需要在項目中引用Sqlite 3的開發包,下面是在iPhone SDK 3.0下的目錄:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib/libsqlite3.0.dylib
- 到這裡你需要事先用命令來建立Sqlite 3的資料庫檔案,並在其中建立自己的表等等,然後作為資源檔添加到項目,然後在程式第一次啟動並執行時候覆制到程式下的Documents或其他目錄下,關於Sqlite 3的基本操作網上已經有不少文章,這裡就不重複了。
在iPhone中使用Sqlite 3主要步驟如下:
- 首先擷取iPhone上Sqlite 3的資料庫檔案的地址
- 開啟Sqlite 3的資料庫檔案
- 定義SQL文
- 邦定執行SQL所需要的參數
- 執行SQL文,並擷取結果
- 釋放資源
- 關閉Sqlite 3資料庫。
下面結合代碼來示範一下。
// 首先擷取iPhone上Sqlite3的資料庫檔案的地址
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"database_name"];
// 開啟Sqlite3的資料庫檔案
sqlite3 *database;
sqlite3_open([path UTF8String], &database);
// 定義SQL文
sqlite3_stmt *stmt;
const char *sql = "SELECT * FROM table_name WHERE pk=? and name=?";
sqlite3_prepare_v2(database, sql, -1, &stmt, NULL);
// 邦定第一個int參數
sqlite3_bind_int(stmt, 1, 1);
// 邦定第二個字串參數
sqlite3_bind_text(stmt, 2, [title UTF8String], -1, SQLITE_TRANSIENT);
// 執行SQL文,並擷取結果
sqlite3_step(stmt);
// 釋放資源
sqlite3_finalize(stmt);
// 關閉Sqlite3資料庫
sqlite3_close(database);
這裡只是粗略的給大家介紹了一下,更詳細的資料請參考Apple的官方文檔。