SQlite3 + VS2019
1 配置头文件
1.1 在VS创建的项目中,找到该项目的属性页
1.2 在属性页面的C/C++中附加包含目录中增加sqlite3.h头文件的路径
2 配置lib库
2.1 在项目的属性页-> 链接器 -> “常规”->附加库目录 中,将“sqlite3.lib”文件放置路径添加进去
2.2 再次选择属性页-> 链接器 -> “输入”-> 在附加依赖项中,填写上 “SQlite3.lib”
3 实例代码
#include <iostream>
#include <sqlite3.h>
int callback(void* arg, int column_size, char* column_value[], char* column_name[]) {
static int count = 0;
int i;
//printf("%s\n", (char*)arg);
if (0 == count) {
for (i = 0; i < column_size; i++) {
printf("%-8s\t", column_name[i]);
}
printf("\n");
}
for (i = 0; i < column_size; i++) {
printf("%-8s\t", column_value[i]);
}
//printf("\n");
//printf("size is %d \n", column_size);
count++;
//printf("%d\n", count);
return 0;
}
int main(int argc, const char** argv) {
sqlite3* DB;
char* errMsg = nullptr;
const char* sqlquery = "select id from hdmap_lane order by id desc limit 10 ";
int rc = sqlite3_open("./testdata.sq3",&DB);
int resultCode = sqlite3_exec(DB, sqlquery, callback, NULL, &errMsg);
if (resultCode == SQLITE_OK) {
printf("查询成功!\n");
}
else {
fprintf(stderr, "查询失败: %s\n", errMsg);
sqlite3_free(errMsg);
}
if (rc) {
std::cerr << "无法打开数据库:" << sqlite3_errmsg(DB) << std::endl;
sqlite3_close(DB);
system("pause");
return 1;
}
std::cout << "成功打开数据库" << std::endl;
std::cout << "Hello World" << std::endl;
system("pause");
return 0;
}
4 运行结果
//运行结果
id
19083758
19080656
19080655
19080654
19080653
19080652
19080650
19080649
19080648
19080647
查询成功!
成功打开数据库
Hello World