141 lines
5.5 KiB
C
141 lines
5.5 KiB
C
|
|
|||
|
#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,
|
|||
|
};
|
|||
|
|
|||
|
/*********************************************************************************
|
|||
|
* 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, ...);
|
|||
|
|
|||
|
/*********************************************************************************
|
|||
|
* 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, ...);
|