- 论坛徽章:
- 15
|
本帖最后由 yulihua49 于 2016-10-12 13:36 编辑
BetonArmEE 发表于 2015-11-06 20:33
回复 14# yulihua49 动态的不行,一般都是写代码时就确定了要操作的表名和字段名,至少某商业银行核心系统里4000多个交易中还没有需要动态指定表名字段名的技术需求,够用就行,太灵活也带来复杂易错性和性能相对降低,简单、直接就是稳定、高效。
我现在:
- <p>static int ins_JSON(GDA *context,const char *tabname,JSON_OBJECT rows,JSON_OBJECT err_json)
- {
- int ret,i,n;
- char stmt[10240],*p,*recs=NULL,*summary_p,*summary_recs=NULL;
- int ins_rows=0,ddt_rows=0,rec_size,summary_recsiz,summary_num;
- DAU dau,*dp,summary_DAU;
- char summary_tabname[100];
- T_PkgType *tp;
- if ( !rows ) return -1001;
- n=json_object_array_length(rows);
- if ( n < 1 ) return -1002;
- dp=&dau;
- dau.pos=context->poolno;
- summary_DAU.pos=context->poolno;
- //取得数据库模板
- ret=DAU_mk(&dau,context->SQL_Connect,tabname);//这个tabname的模板就取到了,不管它有多少列。</p><p>表名是任意的,完全的泛型处理。
- </p>
复制代码 这个工具很成熟,极其可靠,已经用在生产环境。而且性能非常高,往往比你自己写SQL效率高得多。
|
|