SQLite C语言预处理更新数据示例
#include <stdio.h> #include <sqlite3.h>
int main() { sqlite3 *db; char *err_msg = 0;
int rc = sqlite3_open('test.db', &db);
if (rc != SQLITE_OK) {
fprintf(stderr, "Cannot open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
char *sql = "UPDATE students SET age = ? WHERE id = ?";
sqlite3_stmt *stmt;
rc = sqlite3_prepare_v2(db, sql, -1, &stmt, 0);
if (rc != SQLITE_OK) {
fprintf(stderr, "Cannot prepare statement: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
int id = 1;
int age = 25;
sqlite3_bind_int(stmt, 1, age);
sqlite3_bind_int(stmt, 2, id);
rc = sqlite3_step(stmt);
if (rc != SQLITE_DONE) {
fprintf(stderr, "Execution failed: %s\n", sqlite3_errmsg(db));
}
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0;
}
这个示例演示了如何使用SQLite的预处理器来更新数据库中的数据。首先,我们打开数据库,并使用 sqlite3_open 函数来创建一个指向数据库的指针。然后,我们定义了一个SQL语句,用于更新名为 students 的表中的数据。接下来,我们使用 sqlite3_prepare_v2 函数来准备SQL语句,创建一个 sqlite3_stmt 对象。然后,我们使用 sqlite3_bind_int 函数来绑定要更新的数据的值。最后,我们使用 sqlite3_step 函数执行更新操作,并检查执行结果。完成后,我们释放资源并关闭数据库连接。
原文地址: https://www.cveoy.top/t/topic/qs93 著作权归作者所有。请勿转载和采集!