C语言sqlite检测表是否存在
时间: 2023-08-02 12:41:43 浏览: 97
c语言做的播放器源码(源码).zip
在C语言中使用SQLite检测表是否存在可以使用如下代码:
```c
#include <stdio.h>
#include <sqlite3.h>
int main(int argc, char* argv[])
{
sqlite3 *db;
char *zErrMsg = 0;
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, "SELECT name FROM sqlite_master WHERE type='table' AND name='mytable';", NULL, 0, &zErrMsg);
if( rc != SQLITE_OK ){
fprintf(stderr, "SQL error: %s\n", zErrMsg);
sqlite3_free(zErrMsg);
} else {
printf("Table exists.\n");
}
sqlite3_close(db);
return 0;
}
```
这个代码片段使用了sqlite3_exec函数执行了一条SELECT语句,查询了sqlite_master表中的表名是否存在。如果查询结果不为空,则说明表存在,否则表不存在。
阅读全文