#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 函数执行更新操作,并检查执行结果。完成后,我们释放资源并关闭数据库连接。

SQLite C语言预处理更新数据示例

原文地址: https://www.cveoy.top/t/topic/qs93 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录