怎么调用sqlite3-exec
时间: 2024-01-14 12:02:14 浏览: 121
要使用 `sqlite3_exec` 函数执行 SQL 命令,同样需要包含 `sqlite3.h` 头文件,并链接 `libsqlite3` 库。以下是一个简单的示例代码:
```c
#include <sqlite3.h>
#include <stdio.h>
static int callback(void *data, int argc, char **argv, char **azColName){
int i;
printf("%s: ", (const char*)data);
for(i=0; i<argc; i++){
printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
int main() {
sqlite3 *db;
int rc = sqlite3_open("mydb.sqlite", &db);
if (rc != SQLITE_OK) {
printf("Failed to open database: %s\n", sqlite3_errmsg(db));
sqlite3_close(db);
return 1;
}
char *sql = "SELECT * FROM mytable";
char *errmsg = 0;
rc = sqlite3_exec(db, sql, callback, (void*)"Callback function called", &errmsg);
if (rc != SQLITE_OK) {
printf("SQL error: %s\n", errmsg);
sqlite3_free(errmsg);
}
sqlite3_close(db);
return 0;
}
```
在该示例中,我们使用 `sqlite3_exec` 函数执行一个简单的 SQL 查询语句,查询 `mytable` 表中的所有数据,并将结果输出到控制台。该函数的第一个参数是 SQLite 数据库连接对象,第二个参数是要执行的 SQL 命令字符串,第三个参数是回调函数指针,用于处理查询结果,第四个参数是传递给回调函数的数据指针,第五个参数是指向错误信息字符串的指针。如果执行 SQL 命令出现错误,需要使用 `sqlite3_free` 函数释放错误信息。
阅读全文