设为首页 加入收藏

TOP

数据存储小结(三)
2014-11-24 03:13:25 来源: 作者: 【 】 浏览:8
Tags:数据 存储 小结
entityDescription];

// 操作语句的条件

NSPredicate *pred = [NSPredicate predicateWithFormat:@"PREDICATE_SECTION"];

[request setPredicate:pred];

NSManagedObject *manageObject = nil;

// 执行操作,得到多条具体数据

NSArray *objects = [managedObjectContext executeFetchRequest:request error:&error];

if (objects == nil) {

// 出错

}

if ([objects count] > 0)

// 多条,取第一条

manageObject = [objects objectAtIndex:0];

else

// 没有相应的,就创建

manageObject = [NSEntityDescription

insertNewObjectForEntityForName:@"TABLE_NAME"

inManagedObjectContext:managedObjectContext];

// 改变她的一个字段的值

[manageObject setValue:@"VALUE" forKey:@"ONE_FIELD_NAME_OF_THE_TABLE"];

[request release];

// 保存,结束

[managedObjectContext save:&error];

(四).SQLite

引入SQLite库,加入头文件,使用C API操作.繁琐的地方在于只能存储c数据格式,需要来回转换.

过程示例:

// 声明数据库

sqlite3 *database;

// 打开

if (sqlite3_open("数据库文件路径", &database) != SQLITE_OK) {

sqlite3_close(database);

// 出错

}

char *errorMsg;

// 执行无返回语句

if (sqlite3_exec (database, "增删改创语句",NULL, NULL, &errorMsg) != SQLITE_OK) {

sqlite3_close(database);

// 出错

}

sqlite3_stmt *statement;

// 执行查询语句

if (sqlite3_prepare_v2(database, "查询语句",-1, &statement, nil) == SQLITE_OK) {

// 遍历结果

while (sqlite3_step(statement) == SQLITE_ROW) {

int row = sqlite3_column_int(statement, 0);

// 第一列数据

char *rowData = (char *)sqlite3_column_text(statement, 1);

}

// 结束遍历

sqlite3_finalize(statement);

}

// 关闭数据库

sqlite3_close(database);

参考1:http://stackoverflow.com/questions/2985054/what-exactly-is-a-fetched-property

作者 v2m

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇远程登录阿里云上的MySQL 下一篇视图--虚拟表

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何在 C 语言中管理 (2025-12-25 03:20:14)
·C语言和内存管理有什 (2025-12-25 03:20:11)
·为什么C语言从不被淘 (2025-12-25 03:20:08)
·常用meta整理 | 菜鸟 (2025-12-25 01:21:52)
·SQL HAVING 子句:深 (2025-12-25 01:21:47)