使用SQLite数据库
创建数据库
创建数据库过程需要3个步骤:
1、使用sqlite3_open函数打开数据库;
2、使用sqlite3_exec函数执行Create Table语句,创建数据库表;
3、使用sqlite3_close函数释放资源。
这个过程中使用了3个SQLite3函数,它们都是纯C语言函数,通过Objective-C去调用C函数当然不是什么问题,但是也要注意Objective-C数据类型与C数据类型兼容性问题。
下面我们使用SQLite技术实现备忘录案例,与属性列表文件实现一样,我们只需要修改持久层工程(PersistenceLayer)中NoteDAO类就可以了。首先我们需要添加SQLite3库到工程环境中,有3个工程需要添加到哪个呢?应该添加到可以运行的工程即表示层工程PresentationLayer。选择工程PresentationLayer中TARGETS→PresentationLayer→Link Binary With Libraries,点击左下角的“+”,弹出对话框选择libsqlite3.dylib或libsqlite3.0.dylib,在弹出的对话框中点击Add添加。
NoteDAO.h文件的修改:
#import ”Note.h” #import ”sqlite3.h” #define DBFILE_NAME @”NotesList.sqlite3″ @interface NoteDAO : NSObject { sqlite3 *db; } + (NoteDAO*)sharedManager; - (NSString *)applicationDocumentsDirectoryFile; - (void)createEditableCopyOfDatabaseIfNeeded; //插入Note方法 -(int) create:(Note*)model; //删除Note方法 -(int) remove:(Note*)model; //修改Note方法 -(int) modify:(Note*)model; //查询所有数据方法 -(NSMutableArray*) findAll; //按照主键查询数据方法 -(Note*) findById:(Note*)model; @end
我们需要使用语句#import ”sqlite3.h”引入sqlite3头文件,而且需要定义sqlite3*成员变量db。NoteDAO.m中的createEditableCopyOfDatabaseIfNeeded方法:
- (void)createEditableCopyOfDatabaseIfNeeded { NSString *writableDBPath = [self applicationDocumentsDirectoryFile]; if (sqlite3_open([writableDBPath UTF8String], &db) != SQLITE_OK) { ① sqlite3_close(db); ② NSAssert(NO,@”数据库打开失败。”); } else { char *err; NSString *createSQL = [NSString stringWithFormat:@"CREATE TABLE IF NOT EXISTS Note (cdate TEXT PRIMARY KEY, content TEXT);"]; ③ if (sqlite3_exec(db,[createSQL UTF8String],NULL,NULL,&err) != SQLITE_OK) { ④ sqlite3_close(db); ⑤ NSAssert1(NO, @”建表失败, %s”, err); ⑥ } sqlite3_close(db); ⑦ } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, sqlite
, sqlite 数据库
, sqlite3
, 函数
, adapter删除sqlite
, 方法
, 数据类型
, ios sqlite3
, 工程
, C#sqlite
, ios中sqlite的使用
, SQLite详解
sqlite数据
ios sqlite数据库、ios 查看sqlite数据库、ios 导出sqlite数据库、ios sqlite数据库升级、ios读取sqlite数据库,以便于您获取更多的相关知识。