从esqlc移植到proc第二版

从esqlc移植到proc第二版

ID:34126397

大小:81.00 KB

页数:13页

时间:2019-03-03

从esqlc移植到proc第二版_第1页
从esqlc移植到proc第二版_第2页
从esqlc移植到proc第二版_第3页
从esqlc移植到proc第二版_第4页
从esqlc移植到proc第二版_第5页
资源描述:

《从esqlc移植到proc第二版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、从ESQLC移植到PROC第二版从SQLC移植到PROC第二版 本文档讲述数据库嵌入式SQL/C语言程序从ESQLC向PROC移植过程中所进行的分析、移植过程,并讲述如何编写可通用的嵌入式SQL/C语言程序。作者:余军,2007年5月9日,初版,完成差异性分析,移植步骤、通用程序说明。2007年5月21日,修订,对差异性分析增加数据类型的说明,并增加编写了详细的程序代码及Makefile文件。 第一部分:ESQLC,PROC差异性分析一.基本语法1.语法字符ESQLC中既支持‘$’数据库语法,同时也支持“EXECSQL”,‘:’数据库语法PROC中只支持“E

2、XECSQL”,‘:’数据库语法 2.数据库变量定义ESQLC中支持3种表达方法方法1,$intnValue;$charstrValue[20];方法2(会有警告,但不影响编译及运行结果),EXECSQLintnValue;EXECSQLcharstrValue[20];方法3,EXECSQLBEGINDECLARESECTION;intnValue;charstrValue[20];EXECSQLENDDECLARESECTION; PROC中支持2种表达方法方法1,不加任何修饰,即与非数据库变量的定义相同方法2,EXECSQLBEGINDECLARESE

3、CTION;intnValue;charstrValue[20];EXECSQLENDDECLARESECTION; 3.数据库变量的使用ESQLC中对‘$’,‘:’均能支持PROC中只能用‘:’ 4.基本的SQL语句(查询、插入、删除、修改)ESQLC,sql语句中可以用数据库变量,也可以用常量,如wherename='张三'PROC,sql语句中只能用数据库变量,如wherename=:m_name 5.数据库变量的数据类型ESQLC中不支持unsigned类型,对typedef支持也不是很好,虽然在sys/types.h中已经有类型定义,但还是要在程序

4、中再次定义,且必须定义在BEGINDECLARE/ENDDECLARE之间PROC中能够支持unsigned类型,也支持typedef,即在sys/types.h中定义的都能够使用 二.高级SQL操作(游标等)1.数据库打开、关闭操作ESQLC中打开数据库使用database数据库名,关闭数据库使用databaseclosePROC中打开数据库使用CONNECT:usernameIDENTIFIEDBY:password,不用关闭 2.事务操作ESQLC中语法打开事务,beginwork;提交事务,commitwork;回滚事务,rollbackwork;P

5、ROC中语法打开事务,不写提交事务,commitwork;回滚事务,rollback; 3.游标操作游标基本语法定义游标,declarecur名称cursorforsql语句打开游标,opencur_1或opencur_1using:con1,:con2Fetch游标,fetchcur_1或fetchcur_1into:val1,:val2关闭游标,closecur_1释放游标,freecur_1 两平台区别:sql语句区别同基本sql语句,PROC中不能用用常值(wherename='张三'),只能用数据库变量(wherename=:m_name)。PRO

6、C中不能释放游标,而ESQLC中要求释放游标。 三.数据库操作运行结果1.表达符ESQLC中一般采用SQLCODE,也可采用sqlca.sqlcodePROC中只能用sqlca.sqlcode。 2.常用数值含义开发阶段含义Informix,ESQL/COracle,PROC插入时列数不匹配-236(待查)字段不存在-217(待查) 运行阶段含义Informix,ESQL/COracle,PROC找到数据00找不到数据1001403插入时重复-239-1找到记录不唯一(待查)(待查)范围超限(待查)1480找到值为NULL(待查)-1405其他(待续)   

7、四.程序的编译及链接1.基本命令ESQLC预编译命令esqlPROC预编译命令proc 2.编译语法ESQLC中makefile的一般写法CC=ccECC=$(INFORMIXDIR)/bin/esql .SUFFIXES:.ec.SUFFIXES:.c .ec.o:       $(ECC)$(INCL_FLAG)$(CFLAGS_1)-c-o$*.o$*.ec       rm-f$*.c.c.o:       $(CC)$(INCL_FLAG)$(CFLAGS_1)-c-o$*.o$*.c PROC中makefile的一般写法CC=ccPROC=pro

8、cuserid=用户名/密码sqlcheck=ful

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。