- 论坛徽章:
- 15
|
本帖最后由 yulihua49 于 2013-11-19 12:02 编辑
truekbcl 发表于 2013-11-19 11:05 ![]()
struct meta{
int type; // c类型映射
int len; // 数据长度
说明书法,跟我的几乎一样。需要一个meta,说明书,
meta:- typedef struct {
- INT4 type;
- INT4 len; // in byte
- const char *name;
- const char *format;
- INT4 offset;
- int bindtype; //default=0
- } T_PkgType;
复制代码 模板生成,根据数据库表名。offset要使用前计算。- $ mkpatt.sh
- 输入表名: page
- T_PkgType PAGE_tpl[]={
- {CH_CHAR,11,"status",0,-1},
- {CH_INT64,sizeof(INT64),"page_id"},
- {CH_CHAR,101,"page_name"},
- {CH_CHAR,101,"page_info"},
- {CH_DATE,YEAR_TO_SEC_LEN,"get_time",YEAR_TO_SEC},
- {CH_DATE,YEAR_TO_SEC_LEN,"out_time",YEAR_TO_SEC},
- {CH_CHAR,101,"page_start"},
- {CH_CHAR,101,"page_to"},
- {CH_DOUBLE,sizeof(double),"yunshu_money","%10.2lf"},
- {CH_CHAR,101,"fhr_name"},
- {CH_CHAR,101,"fhr_address"},
- {CH_CHAR,19,"fhr_card_id"},
- {CH_CHAR,21,"fhr_telephone"},
- {CH_CHAR,101,"shr_name"},
- {CH_CHAR,101,"shr_address"},
- {CH_CHAR,19,"shr_card_id"},
- {CH_CHAR,21,"shr_telephone"},
- {-1,0,"PAGE","page_id|"}
- };
- extern T_PkgType PAGE_tpl[];
- typedef struct {
- char status[11];
- INT64 page_id;
- char page_name[101];
- char page_info[101];
- char get_time[YEAR_TO_SEC_LEN];
- char out_time[YEAR_TO_SEC_LEN];
- char page_start[101];
- char page_to[101];
- double yunshu_money;
- char fhr_name[101];
- char fhr_address[101];
- char fhr_card_id[19];
- char fhr_telephone[21];
- char shr_name[101];
- char shr_address[101];
- char shr_card_id[19];
- char shr_telephone[21];
- } PAGE_stu;
复制代码 这样,就可以用PAGE_stu结构访问数据库的PAGE表了,是不是很麻烦?本来应该反射做的事。 |
|