iphone/iOS 访问本地数据库sqlite3

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主要步骤如下:
  1. 首先获取iPhone上Sqlite 3的数据库文件的地址
  2. 打开Sqlite 3的数据库文件
  3. 定义SQL文
  4. 邦定执行SQL所需要的参数
  5. 执行SQL文,并获取结果
  6. 释放资源
  7. 关闭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);
posted @ 2013-07-11 11:13  如来藏  阅读(334)  评论(0编辑  收藏  举报