sqlite中执行update后判断是否成功
时间: 2024-03-16 19:44:19 浏览: 234
判断execute(sql)执行成功与否
5星 · 资源好评率100%
在SQLite中,可以使用sqlite3_changes()函数来判断UPDATE语句是否执行成功。该函数返回最近一次执行的UPDATE、INSERT、DELETE语句影响的行数。如果返回值大于0,则表示UPDATE执行成功,否则表示UPDATE执行失败。
以下是一个使用sqlite3_changes()函数判断UPDATE语句是否执行成功的示例:
```c
sqlite3 *db;
char *errMsg = NULL;
int rc;
rc = sqlite3_open("test.db", &db);
if (rc) {
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
rc = sqlite3_exec(db, "UPDATE my_table SET my_column = 'new_value' WHERE id = 1", NULL, 0, &errMsg);
if (rc != SQLITE_OK) {
fprintf(stderr, "SQL error: %s\n", errMsg);
sqlite3_free(errMsg);
sqlite3_close(db);
return 1;
}
if (sqlite3_changes(db) > 0) {
printf("UPDATE executed successfully\n");
} else {
printf("UPDATE failed\n");
}
sqlite3_close(db);
```
在上面的代码中,我们首先打开一个名为"test.db"的数据库。然后执行一条UPDATE语句来更新名为"my_table"的表中id为1的行的"my_column"列的值为"new_value"。接着使用sqlite3_changes()函数来判断UPDATE语句是否执行成功。如果UPDATE执行成功,就输出"UPDATE executed successfully",否则输出"UPDATE failed"。最后关闭数据库连接。
阅读全文