**
链接:https://pan.baidu.com/s/1bO0bzR95CEdhgzmoodaF7A
提取码:hosq
这里我存放在windows系统的共享文件夹里,这样在Linux系统里也会存在这个文件
命令:tar -xzvf sqlite-autoconf-3110000.tar.gz
Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。
其中–prefix选项是配置安装的路径
命令:./configure --prefix=/home/sqlite3/
在这之前,要先通过命令:sudo su 切换到管理员
而且在home目录下要有sqlite3文件夹
当然,你也可以修改这个路径
这里会生成makefile文件
命令:make
(防止之前编译安装过想重新开始可以先执行命令:make clean)
这个过程需要一点时间
完成后可以看到home目录下sqlite3文件夹还是为空
这里并不是出错了,而是还没有安装,之前我就是以为出错了,所以所有步骤都重头再来一遍。
命令:make install
安装到指定目录
安装成功后,指定目录如下图所示
include文件夹里面放的是头文件
lib文件夹里面放的是库
命令:
cp lib/libsqlite3.* /usr/lib/
cp include/* /usr/include/
#include
#include
#include
#include
#include
using namespace std;
int main()
{
sqlite3* db;
char buff[100];
char* errmsg;
char** result;
int row, col, i, j;
int ret;
ret = sqlite3_open("user.db", &db);//创建或打开数据库
if (ret != SQLITE_OK)
{
cout << "Failed to open " << endl;
}
//建表
const char* creat_UserTabSql = "create table if not exists user_table(\
user_id varchar(16) primary key,\
user_name varchar(10) not NULL,\
user_pass varchar(10) not NULL); ";
ret = sqlite3_exec(db, creat_UserTabSql, NULL, NULL, &errmsg);
//插入
const char* insert_UserTabSql_1 = "insert into user_table(user_id,user_name,user_pass) values ('1234','czx','5678');";
const char* insert_UserTabSql_2 = "insert into user_table(user_id,user_name,user_pass) values ('1235','ccc','6666');";
ret = sqlite3_exec(db, insert_UserTabSql_1, NULL, NULL, &errmsg);
ret = sqlite3_exec(db, insert_UserTabSql_2, NULL, NULL, &errmsg);
//查询
const char* select_UserTabSql = "select * from user_table;";
ret = sqlite3_get_table(db, select_UserTabSql, &result, &row, &col, &errmsg);
if (ret != SQLITE_OK)
{
sprintf(buff, "getData查询 错误编码%d 错误信息%s %s", ret, errmsg, select_UserTabSql);
cout << buff << endl;
return -1;
}
//打印
int index = col;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
printf("%s", result[index]);
index++;
}
printf("\n");
}
sqlite3_close(db);
return 0;
}
先生成解决方案
这在VS里面生成解决方案会失败,不过没关系
到Linux进行编译,记得带上 -lsqlite3
命令:g++ main.cpp -o main -lsqlite3