acl
3.5.3.0
|
#include <query.hpp>
Public 成员函数 | |
query () | |
~query () | |
query & | create_sql (const char *sql_fmt,...) ACL_CPP_PRINTF(2 |
query query & | create (const char *sql) |
query & | set_parameter (const char *name, const char *value) |
query & | set_parameter (const char *name, char value) |
query & | set_parameter (const char *name, short value) |
query & | set_parameter (const char *name, int value) |
query & | set_parameter (const char *name, float value, int precision=8) |
query & | set_parameter (const char *name, double value, int precision=8) |
query & | set_parameter (const char *name, long long int value) |
query & | set_date (const char *name, time_t value, const char *fmt="%Y-%m-%d %H:%M:%S") |
query & | set_format (const char *name, const char *fmt,...) ACL_CPP_PRINTF(3 |
query query & | set_vformat (const char *name, const char *fmt, va_list ap) |
const string & | to_string () |
void | reset () |
静态 Public 成员函数 | |
static const string & | escape (const char *in, size_t len, string &out) |
static const char * | to_date (time_t t, string &out, const char *fmt="%Y-%m-%d %H:%M:%S") |
额外继承的成员函数 | |
Protected 成员函数 继承自 acl::acl::noncopyable | |
noncopyable () | |
~noncopyable () | |
acl::query::query | ( | ) |
acl::query::~query | ( | ) |
创建 sql 语句,非变参方式
sql | {const char*} sql 语句,格式如: select * from xxx where name = :name and len >= :len 其中的 :name, :len 将由 set_parameter 中的值进行替换 |
query& acl::query::create_sql | ( | const char * | sql_fmt, |
... | |||
) |
创建 sql 语句,变参方式,用法和 printf 类似
sql_fmt | {const char*} sql 语句,格式如: select * from xxx where name = :name and len >= d 其中的 :name, 将由 set_parameter 中的值进行替换, len 为整形值 |
对 sql 中的一些特殊字符进行转义处理,以防止 SQL 注入问题
in | {const char*} 变量值 |
len | {size_t} in 数据长度 |
out | {string&} 存储转换后的结果的缓冲区,该参数输入后会先被清空 |
void acl::query::reset | ( | ) |
清空查询器上一次的缓存数据,当该 SQL 查询器对象被多次使用时,应该提前调用 本函数清除之前的 SQL 查询器状态
query& acl::query::set_date | ( | const char * | name, |
time_t | value, | ||
const char * | fmt = "%Y-%m-%d %H:%M:%S" |
||
) |
设置日期(time_t)类型的变量值
name | {const char*} 变量名 |
value | {time_t} 变量值 |
fmt | {const char*} 日期格式 |
query& acl::query::set_format | ( | const char * | name, |
const char * | fmt, | ||
... | |||
) |
以变参方式设置变量值
name | {const char*} 变量名 |
fmt | {const char*} 变参值格式 |
query& acl::query::set_parameter | ( | const char * | name, |
const char * | value | ||
) |
设置字符串类型的变量值
name | {const char*} 变量名 |
value | {const char*} 变量值 |
query& acl::query::set_parameter | ( | const char * | name, |
char | value | ||
) |
设置字符类型的变量值
name | {const char*} 变量名 |
value | {char} 变量值 |
query& acl::query::set_parameter | ( | const char * | name, |
short | value | ||
) |
设置 16 位短整类型的变量值
name | {const char*} 变量名 |
value | {short} 变量值 |
query& acl::query::set_parameter | ( | const char * | name, |
int | value | ||
) |
设置 32 位短整类型的变量值
name | {const char*} 变量名 |
value | {int} 变量值 |
query& acl::query::set_parameter | ( | const char * | name, |
float | value, | ||
int | precision = 8 |
||
) |
设置单精度浮点类型的变量值
name | {const char*} 变量名 |
value | {float} 单精度浮点类型 |
precision | {int} 尾数的精度值 |
query& acl::query::set_parameter | ( | const char * | name, |
double | value, | ||
int | precision = 8 |
||
) |
设置双精度浮点类型的变量值
name | {const char*} 变量名 |
value | {double} 双精度浮点类型 |
precision | {int} 尾数的精度值 |
query& acl::query::set_parameter | ( | const char * | name, |
long long int | value | ||
) |
设置 64 位短整类型的变量值
name | {const char*} 变量名 |
value | {long long int} 变量值 |
以变参方式设置变量值
name | {const char*} 变量名 |
fmt | {const char*} 变参值格式 |
ap | {va_list} 变参值列表 |
|
static |
将时间转换成 DateTime 格式的字符串(YYYY-MM-DD HH:MM:SS)
t | {time_t} 时间截 |
out | {string&} 存储转换结果的缓冲区 |
fmt | {const char*} 日期格式,在 _WIN32 下必须保证该格式的正确性, 否则 _WIN32 API 会产生断言,格式如:"%Y-%m-%d %H:%M:%S" |
const string& acl::query::to_string | ( | ) |
对查询 sql 语句进行转义后返回给调用者