sqlite中判断数据update是否成功
时间: 2023-12-08 09:06:21 浏览: 283
SQLite NULL 值
在SQLite中,可以使用sqlite3_changes()函数来判断数据更新是否成功。该函数返回最近一次执行的UPDATE、INSERT、DELETE语句影响的行数。如果返回值大于0,则表示更新成功,否则表示更新失败。
以下是一个使用sqlite3_changes()函数判断数据更新是否成功的示例:
```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 successful!\n");
} else {
printf("Update failed!\n");
}
sqlite3_close(db);
```
在上面的代码中,我们首先打开一个名为"test.db"的数据库。然后执行一条UPDATE语句来更新名为"my_table"的表中id为1的行的"my_column"列的值为"new_value"。接着使用sqlite3_changes()函数来判断更新是否成功。如果更新成功,就输出"Update successful!",否则输出"Update failed!"。最后关闭数据库连接。
阅读全文