2015年02月01日10:18:10
上海,天气阴。
本篇是学习如何在iPhone中使用SQLite3数据库存储数据。
SQLite3是一款开源的嵌入式关系型数据库,可移植性好、容易使用、内存开销小。该数据库的特点是无类型的,但是为了可读性还是在创建表的时候加上正常的字段类型。
SQLite3数据库为了方便管理可以使用数据库管理工具,下载地址:
http://pan.baidu.com/disk/home#path=%252FIOS%25E8%25B5%2584%25E6%2596%2599%252F%25E6%2596%2587%25E6%25A1%25A3%25E8%25B5%2584%25E6%2596%2599
如何使用
要想在工程中使用SQLite3数据库存储数据分为以下几步:
1)在工程中导入一个库文件
2)在需要使用使用数据库的类中导入头
#import <sqlite3.h>
3)开始编写代码使用
3.1)
//创建数据库连接
- (void) openDB
{
//数据库存放在沙盒中、拿到沙盒路径
NSString *docDocument =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES)[0];
//数据库的名称
NSString *dbName = [docDocument stringByAppendingPathComponent:@"my.db"];
NSLog(@"%@",dbName);
//打开一个数据库(如果数据库不存在就新建然后再打开)
if (SQLITE_OK==sqlite3_open(dbName.UTF8String, &_db)) {
NSLog(@"创建/打开数据库成功!");
}else{
NSLog(@"创建/打开数据库失败");
}
}
3.2)
//创建数据表
- (void) createTable
{
NSString *sql =@"create table t_info (id integer PRIMARY KEY AUTOINCREMENT,name text,age integer)";
char *errorMsg;
//执行sql
if (SQLITE_OK ==sqlite3_exec(_db, sql.UTF8String,NULL,NULL, &errorMsg)){
NSLog(@"创建表成功");
}
else{
NSLog(@"创建表失败---%s",errorMsg);
}
}
3.3)
//数据操作
- (void) insertData
{
// NSString *sql = @"insert into t_info values(1,'chengxi',24)";
NSString *sql =@"update t_info set name='zhoutiantian' where id=1";
char *errorMsg;
//执行sql
if (SQLITE_OK ==sqlite3_exec(_db, sql.UTF8String,NULL,NULL, &errorMsg)){
NSLog(@"插入/更新数据成功");
}
else{
NSLog(@"插入/更新数据失败---%s",errorMsg);
}
}
其他
检查sql语法是否正常(单步使用)