您的位置:首页 > 数据库

iphone/iOS 访问本地数据库sqlite3

2011-12-30 12:45 423 查看
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的官方文档。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: