2019数据库应用开发 嵌入式SQL课件.ppt

2019数据库应用开发 嵌入式SQL课件.ppt

ID:57101409

大小:227.50 KB

页数:40页

时间:2020-07-31

2019数据库应用开发 嵌入式SQL课件.ppt_第1页
2019数据库应用开发 嵌入式SQL课件.ppt_第2页
2019数据库应用开发 嵌入式SQL课件.ppt_第3页
2019数据库应用开发 嵌入式SQL课件.ppt_第4页
2019数据库应用开发 嵌入式SQL课件.ppt_第5页
资源描述:

《2019数据库应用开发 嵌入式SQL课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十章数据库应用开发10.1嵌入式SQL10.2基于OLEDB/ADO的数据库开发方法10.3基于JDBC技术的数据库开发方法10.4SQLJ及其在数据库开发中的应用110.1嵌入式SQL一、嵌入式SQL概述二、嵌入式SQL的一般形式三、嵌入式SQL语句和主语言之间的通信四、不用游标的SQL语句五、使用游标的SQL语句2一、嵌入式SQL概述使用嵌入式SQL的原因SQL语言不便于进行事务处理中的流程控制;普通编程语言在涉及数据库的操作时,不能高效率地进行数据的存取。将SQL语句嵌入到普通编程语言中使用,很好地结合了编程语言的过程性和SQL语言的数据操

2、纵能力。嵌入式SQL语言:嵌入到普通编程语言中的SQL语言宿主语言:嵌入SQL语句的普通编程语言3一、嵌入式SQL概述DBMS处理嵌入式SQL语言有两种方法:预编译方法—使用较多的方法扩充编译程序法使用嵌入式SQL,必须解决下列三个问题让预编译器识别程序代码中的SQL语句DBMS和宿主语言程序能够进行数据交换协调好SQL语句和宿主语句对记录的处理方式4二、嵌入式SQL的一般形式开始标志:EXECSQL结束标志:视不同的宿主语言而不同PL/1和C语言中以“;”作为结束标志COBOL语言以END-EXEC作为结束标志嵌入式SQL的一般形式:开始标志+S

3、QL语句+结束标志例:交互SQL:DROPTABLEemployee,嵌入到C语言中的写法是:EXECSQLDROPTABLEemployee;5三、嵌入式SQL语句和 主语言之间的通信数据库和源程序工作单元之间通信主要包括:向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程;主语言向SQL语言提供参数;将SQL语句查询数据库的结果交主语言进一步处理。采用的通信方式SQL—>主语言(SQL执行状态):SQLCA主语言—>SQL(输入数据):主变量SQL—>主语言(输出数据):主变量+游标6三、嵌入式SQL语句和 主语言之间的通信SQ

4、L通信区(SQLCA:SQLCommunicationArea)将系统当前的工作状态和运行环境数据反馈给主程序在应用程序中的定义:EXECSQLINCLUDESQLCA;SQLCA.SQLCODE是SQLCA的一个分量,属于整数类型,供DBMS向应用程序报告SQL语句的执行情况。每执行一条SQL语句,返回一个SQLCODE代码。7三、嵌入式SQL语句和 主语言之间的通信SQLCA.SQLCODE代码SQLCODE=0:SQL语句执行成功,无异常出现;SQLCODE为负整数:SQL语句执行失败,具体负值表示错误的类型;SQLCODE为正整数,表示SQ

5、L语句已执行,但出现了意外的情况。如当SQLCODE=100时表示语句已执行,但无数据可取,如DB中无满足条件的记录。8三、嵌入式SQL语句和 主语言之间的通信主变量(hostvariable):是在嵌入式SQL中使用的主语言的程序变量,用来在输入和输出数据主变量声明:EXECSQLBEGINDECLARESECTION;〈主变量说明段〉EXECSQLENDDECLARESECTIONC语言中主变量声明举例:EXECSQLBEGINDECLARESECTION;ints_no;chars_name[30];ints_age;EXECSQLENDDE

6、CLARESECTION9三、嵌入式SQL语句和 主语言之间的通信主变量使用SQL语句引用主变量时,变量名前加“:”在宿主语言中引用主变量时就无需再加“:”s_no=101;EXECSQLselectSNAME,SAGEinto:s_name,:s_agefromSTUDENTwhereSNO=:s_no;10三、嵌入式SQL语句和 主语言之间的通信指示变量(IndicatorVariable)也是主变量,用来指示返回给宿主变量的值是否为null在DML中,在宿主变量和指示变量之间加(:)或关键字indicator。EXECSQLBEGINDECL

7、ARESECTIONints_no;chars_name[30];ints_age;shortname_id;shortage_id;EXECSQLENDDECLARESECTIONEXECSQLselectSNAME,SAGEinto:s_name:name_id,:s_age:age_idfromSTUDENTwhereSNO=:s_no;11三、嵌入式SQL语句和 主语言之间的通信游标(CURSOR):协调两种不同的数据处理方式SQL:面向集合,一条SQL原则上可以产生或处理多条记录;主语言:面向记录,一条语句一次只能处理一个记录游标是系统为

8、用户开设的一个数据缓冲区,存放SQL语句的执行结果。若一个SQL语句返回单个元组,则不用游标。若一个SQL语句返回多个元组

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

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

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