基础数据持久化:从SQLite到Core Data的实践指南
1. 使用绑定变量
在SQL操作中,虽然可以构造SQL字符串来插入值,但使用绑定变量是更为常见的做法。正确处理字符串,确保没有无效字符且引号插入正确,可能是一项繁琐的任务。而绑定变量可以为我们处理这些问题。
使用绑定变量插入值时,需正常创建SQL语句,但在SQL字符串中放入问号(?)。每个问号代表一个变量,在执行语句之前必须绑定这些变量。然后准备SQL语句,为每个变量绑定一个值,最后执行命令。
以下是一个示例,准备一个带有两个绑定变量的SQL语句,将一个整数绑定到第一个变量,将一个字符串绑定到第二个变量,然后执行并完成该语句:
char *sql = "insert into foo values (?, ?);";
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(database, sql, -1, &stmt, nil) == SQLITE_OK) {
sqlite3_bind_int(stmt, 1, 235);
sqlite3_bind_text(stmt, 2, "Bar", -1, NULL);
}
if (sqlite3_step(stmt) != SQLITE_DONE)
NSLog(@"This should be real error checking!");
sqlite3_finalize(stmt);
根据所需使用的数据类型,有多种绑定语句可供选择。大多数绑定函数只接受三个参数:
- 任何绑定函数的第一个参
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



