ITableHandler增加以下方法:
测试数据
测试代码:
virtual int SetKeyField(const char *key,...) = 0; ///< 设置key字段
virtual void SetAdditionCond(const char *expr) = 0; ///< 设置额外的条件,用于update
测试数据
create table t_tst_test1(
f1 int,
f2 varchar(20),
status int,
primary key(f1)
);
insert into t_tst_test1(f1,f2,status) values(1,'aa',0);
insert into t_tst_test1(f1,f2,status) values(2,'b',1);
测试代码:
USEDBC(pdbor,CDataEnv::env_->dbc_name_.c_str());
ITableHandler *th = CDataEnv::env_->db_helper_->NewTableHandler(pdbor,"t_tst_test1");
AUTO_POINTER_NODECLARE(ITableHandler,th);
struct stData {
int key_;
string val_;
int status_;
};
stData data;
data.key_ = 1;
data.val_ = "dadfda";
th->BindField("f1",(char**)&data.key_,sizeof(data.key_));
th->BindField("f2",data.val_);
th->SetKeyField("f1",0); ///< 设置f1为key
th->SetAdditionCond("status=0"); ///< 设置额外的条件
int ret = th->Update();