系统版本centos7
linux系统一般默认安装了sqlite,在终端输入命令sqlite3,可以打开sqlite数据库,如下图:
如果没有安装,可以参考下面这篇文章:
centos下sqlite安装步骤
安装好sqlite后,把sqlite的3个文件(sqlite3.c sqlite3.h sqlite3ext.h)复制到项目目录,
cp sqlite3.c 项目目录
cp sqlite3.h 项目目录
cp sqlite3ext.h 项目目录
这3个文件可以用locate命令在系统中找到,
代码:
SqliteOperat.h
#ifndef SQLITEOPERAT_H_
#define SQLITEOPERAT_H_
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include "sqlite3.h"
using namespace std;
typedef struct
{
int id;
string name;
int age;
string phone;
string address;
}student;
//数据库操作类
class CSqliteOperat
{
public:
CSqliteOperat();
~CSqliteOperat();
//打开数据库
bool OpenDB();
//关闭数据库
void CloseDB();
//从结果集取出key数据
void GetDataFromDB(const string& sql, vector< student>& studentDataVector);
//增删改操作
bool SqlModify(const string& sql);
//检查表是否已存在
bool IsTableExist(const string& dbName);
private:
//获取查询结果集
bool GetAllResult(const string& sql);
sqlite3* mSqlite;//数据库链接指针
char** mResult;//结果集
int mRow;//行数
int mCol;//列数
};
#endif
SqliteOperat.cpp
#include <iostream>
#include "SqliteOperat.h"
#include <stdlib.h>
#include <cstring>
#include <stdio.h>
using namespace std;
CSqliteOperat::CSqliteOperat():mSqlite(0),mResult(NULL), mRow(0),