数据持久化基础方法解析
绑定变量的使用
在执行 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);
根据所需的数据类型,有多种绑定语句可供使用。大多数绑定函数只接受三个参数:
超级会员免费看
订阅专栏 解锁全文

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



