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);