esql开发总结
1 定义或者声明方法
int method(char *arg1,char* arg2...);
  实现方法
int method(char *arg1,char* arg2...)
    EXEC SQL BEGIN DECLARE SECTION;
        char *arg1;
        char* arg2;
   EXEC SQL END DECLARE SECTION;
 {
    EXEC SQL BEGIN DECLARE SECTION;
    定义自己的变量。仅仅有此处定义的局部变量能够在sql中直接使用。
    EXEC SQL END DECLARE SECTION;
    初始化变量
     memset(sqlbuf,0x00,sizeof(sqlbuf));
     strncpy(from,to);
     deccvdbl(0,&decimal类型变量);
     return 0;
 }
 2 在.h中定义结构体
   如头文件test.h 内容例如以下:
    ...
    EXEC SQL BEGIN DECLARE SECTION;
    typedef struct  LYNAME{
        decimal x ;     
        char y[1+1];
        char z[1+1];       
        int u;
    }x;
    EXEC SQL END DECLARE SECTION;
    ...
    正确引用结构体LYNAME,需使用下边的引入方式
    EXEC SQL include 相对路径/test.h;
    而不是
    #include<test.h>
    
3 经常使用的打印日志方法
  printf("[%s][%d] GetTaxData start\n",__FILE__, __LINE__);
  txlog(LOG_INFO,"current ywrq[%s] =%s\n",__FILE__, __LINE__,x,y);
  #define etxlog(loglevel,format,args...) txlog(loglevel,format,__FILE__,__LINE__,##args);txlogflush()
  #define eetxlog(loglevel,format) txlog(loglevel,format,__FILE__,__LINE__);txlogflush()
  eetxlog(LOG_INFO,"INFO:SSNjbbzlZCZRDZ end.FAILED");
  sprintf(pOutbuf,"FAILED:SELECT NJGRJH.jhbh[%s]qybh[%s]grbh[%s]sqlcode[%d]"
                ,tb_njdl.jhbh,tb_njdl.qybh,val[0],sqlca.sqlcode);
  etxlog(LOG_ERROR,"%s",pOutbuf);
  fprintf(fpLog,"%s|%d|%d|%s|%d|%s\n",strSerial,tb_njdl.clcs,nErrNum++,"数据库错误",nLineCnt,"数据库错误");
  
  4 打印decimal公共方法
 void PrintDecimalToString(ptr_val,desc)
EXEC SQL BEGIN DECLARE SECTION;
        decimal *ptr_val;
        char *desc;
EXEC SQL END DECLARE SECTION;
{
  char decimalResult[30];
  memset(decimalResult,0x00,sizeof(decimalResult));    
  dectoasc(ptr_val,decimalResult,29,8);//将decmail值变成asc码
  txlog(LOG_INFO,"%s = [%s]\n",__FILE__, __LINE__,desc,decimalResult);
  printf("[%s][%d] %s=[%s] \n",__FILE__, __LINE__,desc,decimalResult);
}
esql开发总结的更多相关文章
- 避免重复造轮子的UI自动化测试框架开发
		
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...
 - App开发:模拟服务器数据接口 - MockApi
		
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
 - 使用HTML5开发Kinect体感游戏
		
一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...
 - Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
		
以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...
 - Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
		
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
 - Android请求网络共通类——Hi_博客 Android App 开发笔记
		
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
 - Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境
		
一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...
 - 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)
		
通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...
 - 读书笔记:《HTML5开发手册》--HTML5新的结构元素
		
读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...
 
随机推荐
- Mysql数据库性能
			
Mysql数据库设计规范 https://www.cnblogs.com/Luke-Me/p/8994432.html 我们在项目一开始的设计中,就要忙着考虑数据库的设计,表.字段.索引.sql等等, ...
 - raspberry-常用命令
			
安全关闭raspberry:sudo shutdown -h now 一次升级系统中的所有内容:sudo apt-get update 升级单个软件包:sudo apt-get install *** ...
 - MySql数据库中乱码问题解决方案
			
show variables like 'character%'; //查看当前各系统位置的字符编码格式 问题一: Incorrect string value: '\xB4\xF3\xB4\x ...
 - MVC中Excel导入
			
1.在项目中添加对NPOI的引用,NPOI下载地址:http://npoi.codeplex.com/releases/view/38113. 前端代码 <div class="fil ...
 - Css float 盒子模型 position
			
属性: float 浮动 浮动的内容用div包起来,给div设置宽高 clear 清除浮动. box-sizing 标准模式下的盒模型 content-box:(默认属性) padding和borde ...
 - Java基础9一面向对象
			
继承 1.特点 a) 要有一定的层次结构,并且具备可传递性. b) 判断两者之间是否有继承关系通过is-a来判断. c) 子类继承了父类,那么子类就继承了父类中所有的属性和方法,但是父类中的私有属性和 ...
 - BZOJ 1726: [Usaco2006 Nov]Roadblocks第二短路 Dijkstra
			
Description 贝茜把家搬到了一个小农场,但她常常回到FJ的农场去拜访她的朋友.贝茜很喜欢路边的风景,不想那么快地结束她的旅途,于是她每次回农场,都会选择第二短的路径,而不象我们所习惯的那样, ...
 - 洛谷P1297 [国家集训队]单选错位_数学期望
			
考虑第 iii 位, 那么当前共有 a[i]a[i]a[i] 种选项,那么当前选项正确的情况就是下一个被误填的答案与当前答案相同.换句话说,当前答案一共有 a[i]a[i]a[i] 种可能,而下一个答 ...
 - 路飞学城Python-Day153
			
Scrapy核心组件
 - 莫烦大大TensorFlow学习笔记(8)----优化器
			
一.TensorFlow中的优化器 tf.train.GradientDescentOptimizer:梯度下降算法 tf.train.AdadeltaOptimizer tf.train.Adagr ...