E-SQL编程技术

E-SQL编程技术

ID:37933987

大小:140.16 KB

页数:50页

时间:2019-06-03

E-SQL编程技术_第1页
E-SQL编程技术_第2页
E-SQL编程技术_第3页
E-SQL编程技术_第4页
E-SQL编程技术_第5页
资源描述:

《E-SQL编程技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、中国农业银行Sybase数据库技术培训——E-SQL/C编程技术王兵wangb@global-tec.net1590118532913671101290北京寰信通科技有限公司BeijingGlobalTechnologyCo.Ltd.2009年6月1日GlobalTechnologyPage1内容提要¾什么是E-SQL¾E-SQL编程基础∑E-SQL一般规则∑建立SQL通信区∑定义变量∑连接数据库∑执行SQL语句∑处理错误¾E-SQL编程专题∑游标的使用∑事物∑动态SQLGlobalTechnologyPage2什么是E-SQL¾EmbeddedSQL是一种数据库客户端编程接

2、口。它在C或C++语言的源程序文件中嵌入SQL命令,通过预处理器把SQL语句翻译成对运行时库(runtimelibrary)的函数调用,然后通过C或C++语言编译器进行编译和连接¾EmbeddedSQL是ISO/ANSI和IBM标准¾EmbeddedSQL可移植到其他数据库和操作系统平台,并且在所有环境下具有相同的功能性。GlobalTechnologyPage3E-SQL优点¾嵌入SQL易于使用¾ANSI/ISO标准化编程语言¾与调用相比,编码更少¾几乎与宿主语言无关,对不同的语言,它的语法改变非常少¾预编译器通过生成存储过程,优化它的执行GlobalTechnologyP

3、age4开发E-SQL应用程序的过程¾编写E-SQL程序¾保存为.cp为后缀的文件(建议)¾预编译¾编译¾连接Client-Library¾如果你选择生成存储过程,执行生成的脚本以在数据库中生成它们(可选)¾运行生成的程序GlobalTechnologyPage5E-SQL编程基础¾E-SQL一般规则¾建立SQL通信区¾使用变量¾连接数据库¾执行T-SQL语句¾处理错误GlobalTechnologyPage6E-SQL一般规则¾以execsql开头¾以;结尾¾标号可以放在execsql前面¾大小写不敏感GlobalTechnologyPage7SQL通讯区¾是一个内存区,用

4、于存放客户端和数据库服务器交互时的状态信息∑数据库服务器执行完每一个EmbeddedSQL语句之后它会在SQL通讯区中存储返回代码和返回信息(包括警告和错误信息)∑E-SQL应用可以从SQL通讯区获得数据库服务器执行EmbeddedSQLs的情况(是成功还是失败)GlobalTechnologyPage8SQL通讯区¾SQL通讯区定义为一个C语言结构typedefstruct_sqlca{charsqlcaid[8];//包含自符串”sqlca”longsqlcabc;//SQLCA结构的长度longsqlcode;//存放最近执行SQL语句的返回代码0:执行成功;-n:发生

5、//错误,n为错误消息号;+100:没有数据存在struct{longsqlerrml;//错误消息长度charsqlerrmc[256];//存放错误消息}sqlerrm;charsqlerrp[8];longsqlerrd[6];//错误或警告的细节charsqlwarn[8];//警告标志charsqlext[8];//保留}SQLCA;GlobalTechnologyPage9SQL通讯区¾SQLCA结构的声明∑EXECSQLINCLUDESQLCA;¾SQLCA的使用∑结构变量名是sqlca,使用C语法访问其成员∑例如:if(sqlca.sqlcode==100){

6、printf("t**Can'tfindtitle'%s'.",m_titleid);return;}if(sqlca.sqlwarn[1]=='W'){fprintf(stderr,"**Datatruncated.");}if(sqlca.sqlwarn[3]=='W'){fprintf(stderr,"**Insufficienthostvariablestostoreresults.");}GlobalTechnologyPage10SQL通讯区¾SQLCODE:SQLCA的替代方法∑不定义SQLCA结构,使用单独定义的SQLCODE也可以得

7、到最近一次查询的返回状态;∑好处V使用SQLCODE的好处是执行速度快∑何时使用V只需要语句的returncode,不需要SQLCA结构中的其它信息∑使用方法longSQLCODE;//0,-n,100execsqlopencursorpub_id;while(SQLCODE==0){execsqlfetchpub_idinto:pub_name;}GlobalTechnologyPage11使用变量¾变量种类∑宿主语言变量(Hostvariables)V使用在E-SQL语句中的宿主语言变量V用于保存从

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

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

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