2019-07-19 07:54:36 +00:00
|
|
|
|
|
|
|
|
|
#ifndef DB_H
|
|
|
|
|
#define DB_H
|
|
|
|
|
/* 返回值 */
|
|
|
|
|
#define DB_RET_OK 0
|
|
|
|
|
#define DB_RET_ERR 1
|
|
|
|
|
#define DB_RET_PARAM_NULL 2
|
|
|
|
|
#define DB_RET_PARAM_ERR 3
|
|
|
|
|
|
|
|
|
|
/* 数据库操作类型 */
|
|
|
|
|
#define DB_OP_INSERT 1
|
|
|
|
|
#define DB_OP_DEL 2
|
|
|
|
|
#define DB_OP_UPDATE 3
|
|
|
|
|
|
|
|
|
|
/* 数据库支持的参数类型 */
|
|
|
|
|
#define DB_DATA_INT_TYPE 1
|
|
|
|
|
#define DB_DATA_STRING_TYPE 2
|
|
|
|
|
#define DB_DATA_FLOAT_TYPE 3
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* 模块ID */
|
|
|
|
|
enum
|
|
|
|
|
{
|
|
|
|
|
DB_MODULE_ID_INVALID = 0,
|
|
|
|
|
DB_MODULE_ID_MAX,
|
|
|
|
|
};
|
|
|
|
|
|
2019-07-22 02:44:49 +00:00
|
|
|
|
/* 数据库TABLE属性 */
|
|
|
|
|
#define DB_ROWS 20 /* 支持的最大列数 */
|
|
|
|
|
#define DB_COLUMN 1 /* 单次查询获取的条目数 */
|
2019-09-05 09:47:18 +00:00
|
|
|
|
#define DB_ROWS_MAX_LEN 99 /* 列支持的最大长度。单位:字节 */
|
2019-07-22 02:44:49 +00:00
|
|
|
|
|
2019-07-19 07:54:36 +00:00
|
|
|
|
/*********************************************************************************
|
|
|
|
|
* Description:
|
|
|
|
|
* 连接数据库操作
|
|
|
|
|
* Input:
|
|
|
|
|
* module_id - 模块ID,每个模块需要向数据库模块设置模块ID,用于打印、统计使用
|
|
|
|
|
* Output:
|
|
|
|
|
* 无
|
|
|
|
|
* Return:
|
|
|
|
|
* 数据库句柄
|
|
|
|
|
* NULL - 连接数据库失败
|
|
|
|
|
* 非NULL - 连接数据库成功
|
|
|
|
|
* Others:
|
|
|
|
|
* 无
|
|
|
|
|
**********************************************************************************/
|
|
|
|
|
void * connect_database (int module_id);
|
|
|
|
|
|
|
|
|
|
/*********************************************************************************
|
|
|
|
|
* Description:
|
|
|
|
|
* 释放数据库连接
|
|
|
|
|
* Input:
|
|
|
|
|
* module_id - 模块ID,每个模块需要向数据库模块设置模块ID,用于打印、统计使用
|
|
|
|
|
* db_handle - 数据库句柄
|
|
|
|
|
* Output:
|
|
|
|
|
* 无
|
|
|
|
|
* Return:
|
|
|
|
|
* DB_RET_PARAM_NULL - 入参指针为NULL
|
|
|
|
|
* DB_RET_ERR - 释放失败
|
|
|
|
|
* DB_RET_OK - 释放成功
|
|
|
|
|
* Others:
|
|
|
|
|
* 无
|
|
|
|
|
**********************************************************************************/
|
|
|
|
|
int disconnect_database (int module_id, void * db_handle);
|
|
|
|
|
|
|
|
|
|
/*********************************************************************************
|
|
|
|
|
* Description:
|
|
|
|
|
* 创建数据库表
|
|
|
|
|
* Input:
|
|
|
|
|
* module_id - 模块ID,每个模块需要向数据库模块设置模块ID,用于打印、统计使用
|
|
|
|
|
* db_handle - 数据库句柄
|
|
|
|
|
* table_name - 创建的表名
|
|
|
|
|
* sql_str - 创建表的SQL语句
|
|
|
|
|
* Output:
|
|
|
|
|
* 无
|
|
|
|
|
* Return:
|
|
|
|
|
* DB_RET_PARAM_NULL - 入参指针为NULL
|
|
|
|
|
* DB_RET_PARAM_NULL - 入参指针为NULL
|
|
|
|
|
* DB_RET_ERR - 释放失败
|
|
|
|
|
* DB_RET_OK - 释放成功
|
|
|
|
|
* Others:
|
|
|
|
|
* 无
|
|
|
|
|
**********************************************************************************/
|
|
|
|
|
int create_database_table(int module_id, void * db_handle, char * table_name, char * sql_str);
|
|
|
|
|
|
|
|
|
|
/*********************************************************************************
|
|
|
|
|
* Description:
|
|
|
|
|
* 对据库表执行插入、删除、更新操作
|
|
|
|
|
* Input:
|
|
|
|
|
* module_id - 模块ID,每个模块需要向数据库模块设置模块ID,用于打印、统计使用
|
|
|
|
|
* db_handle - 数据库句柄
|
|
|
|
|
* op_type - 操作类型 DB_OP_INSERT:插入数据 DB_OP_DEL:删除数据 DB_OP_UPDATE:更新数据
|
|
|
|
|
* table_name - 创建的表名
|
|
|
|
|
* sql_str - 创建表的SQL语句
|
|
|
|
|
* param_num - 扩展参数组合数量,填写0表示没有,需要防止SQL注入问题,需要使用扩展参数组合
|
|
|
|
|
* Output:
|
|
|
|
|
* 无
|
|
|
|
|
* Return:
|
|
|
|
|
* DB_RET_PARAM_NULL - 入参指针为NULL
|
|
|
|
|
* DB_RET_ERR - 操作失败
|
|
|
|
|
* DB_RET_OK - 操作成功
|
|
|
|
|
* Others:
|
|
|
|
|
* 无
|
|
|
|
|
**********************************************************************************/
|
|
|
|
|
int update_database(int module_id, void * db_handle, int op_type, char * table_name, char * sql_str, int param_num, ...);
|
|
|
|
|
|
|
|
|
|
/*********************************************************************************
|
|
|
|
|
* Description:
|
|
|
|
|
* 根据指定信息查找数据库
|
|
|
|
|
* Input:
|
|
|
|
|
* module_id - 模块ID,每个模块需要向数据库模块设置模块ID,用于打印、统计使用
|
|
|
|
|
* db_handle - 数据库句柄
|
|
|
|
|
* table_name - 创建的表名
|
|
|
|
|
* sql_str - 创建表的SQL语句
|
|
|
|
|
* begin_num - 从第几条查询结果开始返回
|
|
|
|
|
* need_num - 应用需要返回的结果条数
|
|
|
|
|
* param_num - 扩展参数组合数量,填写0表示没有,需要防止SQL注入问题,需要使用扩展参数组合
|
|
|
|
|
* Output:
|
|
|
|
|
* return_num - 实际返回的结果条数
|
|
|
|
|
* Return:
|
|
|
|
|
* NULL - 操作失败
|
|
|
|
|
* 非NULL - 返回CJSON格式的查询结果
|
|
|
|
|
* Others:
|
|
|
|
|
* 无
|
|
|
|
|
**********************************************************************************/
|
|
|
|
|
void * select_datebase_by_number(int module_id, void * db_handle, char * table_name, char * sql_str, int begin_num, int need_num, int * return_num, int param_num, ...);
|
2019-07-22 03:11:02 +00:00
|
|
|
|
/*********************************************************************************
|
|
|
|
|
* Description:
|
|
|
|
|
* 释放查询接口申请的内存
|
|
|
|
|
* Input:
|
|
|
|
|
* module_id - 模块ID,每个模块需要向数据库模块设置模块ID,用于打印、统计使用
|
|
|
|
|
* table_name - 创建的表名
|
|
|
|
|
* memory_ptr - 待释放内存指针
|
|
|
|
|
* Output:
|
|
|
|
|
* 无
|
|
|
|
|
* Return:
|
|
|
|
|
* DB_RET_PARAM_NULL - 入参指针为NULL
|
|
|
|
|
* DB_RET_ERR - 操作失败
|
|
|
|
|
* DB_RET_OK - 操作成功
|
|
|
|
|
* Others:
|
|
|
|
|
* 无
|
|
|
|
|
**********************************************************************************/
|
|
|
|
|
int free_database_memory(int module_id, char * table_name, void * memory_ptr);
|
2019-07-19 07:54:36 +00:00
|
|
|
|
/*********************************************************************************
|
|
|
|
|
* Description:
|
|
|
|
|
* 返回根据指定信息查找数据库的结果的条目数
|
|
|
|
|
* Input:
|
|
|
|
|
* module_id - 模块ID,每个模块需要向数据库模块设置模块ID,用于打印、统计使用
|
|
|
|
|
* db_handle - 数据库句柄
|
|
|
|
|
* table_name - 创建的表名
|
|
|
|
|
* sql_str - 创建表的SQL语句
|
|
|
|
|
* param_num - 扩展参数组合数量,填写0表示没有,需要防止SQL注入问题,需要使用扩展参数组合
|
|
|
|
|
* Output:
|
|
|
|
|
* ret_num - 实际返回的结果条数
|
|
|
|
|
* Return:
|
|
|
|
|
* DB_RET_PARAM_NULL - 入参指针为NULL
|
|
|
|
|
* DB_RET_ERR - 操作失败
|
|
|
|
|
* DB_RET_OK - 操作成功
|
|
|
|
|
* Others:
|
|
|
|
|
* 无
|
|
|
|
|
**********************************************************************************/
|
|
|
|
|
int get_select_datebase_number(int module_id, void * db_handle, char * table_name, char * sql_str, int * ret_num, int param_num, ...);
|