|
#define BIND_INT(x)\ _bind[i].buffer_type= MYSQL_TYPE_LONG;\ _bind[i].buffer= (char *)&(parent::x);\ _bind[i].buffer_length= 0;\ _bind[i].is_null= _is_null+i;\ _bind[i].length= _length+i;\ ++i; #define END_BIND(h) }\ operator MYSQL_BIND*(){\ return _bind;\ }\ }; 使用方法; 例如想查询的内容具有以下结构 struct account{ char user[36]; byte password[16]; uint32_t status; uint32_t id; }; //声明查询bind 结构account,参数4个 DECL_BIND(account,4) BIND_BIN(user,32) BIND_BIN(password,16) BIND_INT(status) BIND_INT(id) END_BIND(account) int main(){ try{ DBMysql sql/Index.html'>mysql; sql/Index.html'>mysql_parm parm; parm.host="localhost"; parm.user="root"; parm.password="test"; parm.unixsock="/var/lib/sql/Index.html'>mysql/sql/Index.html'>mysql.sock"; parm.database="testdb"; sql/Index.html'>mysql.open(parm);//打开数据库 DBSTMT
smt("select user,password,status,id from account",sql/Index.html'>mysql);
//生成一个查询语法 DBSTMT
smt1("insert into account(user,password,status) value(?,?,?)",sql/Index.html'>mysql);
//另外一个 // bind_account acc; 上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
|