windows,VS2022,C++sqlite 基本操作函数的封装

首先需要有sqlite的头文件,lib文件,dll文件。(上篇创建)

同样是上篇的方式导入 ,写函数就可,函数功能和传参注释有

头文件代码

#pragma once

#include<iostream>
using namespace std;

#include <stdio.h>
#include "../sqlite3.h"
#pragma comment(lib,"../sqlite3.lib")

//打开或创建数据库的函数
const char* openSql(const char* sqlname, sqlite3*& conn, char*& err_msg);
//创建表的函数
const char* createTable(const char* tableSql, sqlite3*& conn, char*& err_msg);
//增删改的函数,里面放置sql语句即可
const char* changeData(const char* changeSql, sqlite3*& conn, char*& err_msg);
//查找的函数,里面放置查找语句
const char* queryData(const char* querySql, sqlite3*& conn, char*& err_msg);


//查找库中所有表名 
const char* select_all_table(sqlite3*& conn, char*& err_msg);
//查找指定表,中的具体内容  传表名
const char* select_one_table(const char* table_name, sqlite3*& conn, char*& err_msg);
//查看特定表的结构--查列名  传表名
const char* select_column_table(const char* table_name, sqlite3*& conn, char*& err_msg);
//删除指定表  传表名
const char* delete_table(const char* table_name, sqlite3*& conn, char*& err_msg);


//哪个表,根据哪一列(此列需为唯一值)查重,  "select* from 表名 group by 列名 having count(*) > 1;"
const char* check_repeat(const char* table_name, const char* column, sqlite3*& conn, char*& err_msg);
//哪个表,根据哪一列(此列需为唯一值)去重  delete from 表名 where 表名.rowid not in(select MAX(表名.rowid) from 表名 group by 列名);
const char* delect_repeat(const char* table_name, const char* column, sqlite3*& conn, char*& err_msg);

//查表的行数的值
int check_roms(const char* table_name, sqlite3*& conn, char*& err_msg);

//插入数据监测是否成功插入了新数据,若想插入重复数据则插入失败
const char* check_insert(const char* table_name, const char* column, const char* insert_sql, sqlite3*& conn, char*& err_msg);

函数实现cpp里面代码

#include <iostream>
using namespace std;
#include <stdio.h>
#include "../sqlite3.h"
#pragma comment(lib,"../sqlite3.lib")


// 为了数据读出来,使用回调函数
int sqlite3_exec_callback(void* data, int nColumn, 
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于标准库的C语言SQLite3常用功能封装和使用可以包括以下几个方面: 1. 连接数据库:通过调用`sqlite3_open_v2`函数来创建和打开一个SQLite3数据库文件,返回一个数据库对象。 2. 执行SQL语句:使用`sqlite3_exec`函数可以执行SQL语句,包括创建表、插入数据、更新数据、删除数据等操作。 3. 查询数据:使用`sqlite3_prepare_v2`函数来准备一个SQL语句,然后通过`sqlite3_step`函数来遍历查询结果,使用`sqlite3_column_xxx`函数获取每个字段的值。最后使用`sqlite3_finalize`函数来完成查询。 4. 绑定参数:对于需要动态参数的SQL语句,可以使用`sqlite3_bind_xxx`函数来绑定参数值,然后通过`sqlite3_step`函数执行SQL语句。 5. 错误处理:通过调用`sqlite3_errmsg`函数可以获取错误信息,用于处理和调试错误。 6. 事务处理:使用`sqlite3_exec`函数执行`BEGIN`、`COMMIT`和`ROLLBACK`语句来实现事务操作,确保原子性和一致性。 7. 数据库关闭:通过调用`sqlite3_close_v2`函数来关闭数据库连接,并释放相关资源。 需要注意的是,SQLite3是一个嵌入式数据库,可以直接将其源代码编译到项目中,无需单独安装。使用C语言与SQLite3进行交互相对较底层,需要手动管理内存和资源,因此在使用过程中需要注意内存泄漏和错误处理等问题。为了方便使用,可以封装一些常用功能函数和结构体,以提高开发效率和代码重用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值