- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库应用开发印 嵌入式sql
第十章 数据库应用开发 10.1 嵌入式SQL 10.2 基于OLE DB/ADO的数据库开发方法 10.3 基于JDBC技术的数据库开发方法 10.4 SQLJ及其在数据库开发中的应用 10.1 嵌入式SQL 一、嵌入式SQL概述 二、嵌入式SQL的一般形式 三、嵌入式SQL语句和主语言之间的通信 四、不用游标的SQL语句 五、使用游标的SQL语句 一、嵌入式SQL概述 使用嵌入式SQL的原因 SQL语言不便于进行事务处理中的流程控制; 普通编程语言在涉及数据库的操作时,不能高效率地进行数据的存取。 将SQL语句嵌入到普通编程语言中使用,很好地结合了编程语言的过程性和SQL语言的数据操纵能力。 嵌入式SQL语言:嵌入到普通编程语言中的SQL语言 宿主语言:嵌入SQL语句的普通编程语言 一、嵌入式SQL概述 DBMS处理嵌入式SQL语言有两种方法: 预编译方法— 使用较多的方法 扩充编译程序法 使用嵌入式SQL,必须解决下列三个问题 让预编译器识别程序代码中的SQL语句 DBMS和宿主语言程序能够进行数据交换 协调好SQL语句和宿主语句对记录的处理方式 二、嵌入式SQL的一般形式 开始标志:EXEC SQL 结束标志:视不同的宿主语言而不同 PL/1和C语言中以“;”作为结束标志 COBOL语言以 END-EXEC作为结束标志 嵌入式SQL的一般形式: 开始标志+SQL语句+结束标志 例:交互SQL:DROP TABLE employee, 嵌入到C语言中的写法是: EXEC SQL DROP TABLE employee; 三、嵌入式SQL语句和 主语言之间的通信 数据库和源程序工作单元之间通信主要包括: 向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程; 主语言向SQL语言提供参数; 将SQL语句查询数据库的结果交主语言进一步处理。 采用的通信方式 SQL—主语言(SQL执行状态):SQLCA 主语言—SQL(输入数据):主变量 SQL—主语言(输出数据):主变量+游标 三、嵌入式SQL语句和 主语言之间的通信 SQL通信区(SQLCA:SQL Communication Area) 将系统当前的工作状态和运行环境数据反馈给主程序 在应用程序中的定义: EXEC SQL INCLUDE SQLCA; SQLCA.SQLCODE是SQLCA的一个分量,属于整数类型,供DBMS向应用程序报告SQL语句的执行情况。每执行一条SQL语句,返回一个SQLCODE代码。 三、嵌入式SQL语句和 主语言之间的通信 SQLCA.SQLCODE代码 SQLCODE=0:SQL语句执行成功,无异常出现; SQLCODE为负整数:SQL语句执行失败,具体负值表示错误的类型; SQLCODE为正整数,表示SQL语句已执行,但出现了意外的情况。如当SQLCODE=100时表示语句已执行,但无数据可取,如DB中无满足条件的记录。 三、嵌入式SQL语句和 主语言之间的通信 主变量(host variable):是在嵌入式SQL中使用的主语言的程序变量,用来在输入和输出数据 主变量声明: EXEC SQL BEGIN DECLARE SECTION; 〈主变量说明段〉 EXEC SQL END DECLARE SECTION C语言中主变量声明举例: EXEC SQL BEGIN DECLARE SECTION; int s_no; char s_name[30]; int s_age; EXEC SQL END DECLARE SECTION 三、嵌入式SQL语句和 主语言之间的通信 主变量使用 SQL语句引用主变量时,变量名前加“:” 在宿主语言中引用主变量时就无需再加“:” s_no=101; EXEC SQL select SNAME , SAGE into :s_name , :s_age from STUDENT where SNO = :s_no; 三、嵌入式SQL语句和 主语言之间的通信 指示变量(Indicator Variable) 也是主变量,用来指示返回给宿主变量的值是否为null 在DML中,在宿主变量和指示变量之间加
您可能关注的文档
- 输血2013南五年制.ppt
- 输血反应和问并发症课件.ppt
- 兽用解热拜镇痛药卡巴匹林钙、氟尼辛葡甲胺——陆振烈.ppt
- 输尿管膀胱肿瘤之的放射诊断.ppt
- 输卵管性骆不孕01.ppt
- 输血风险防范 喂ppt课件.pptx
- 输送血液的沈泵心脏二.ppt
- 输送血液空的泵—心脏.ppt
- 输血与围术执期血液保护.ppt
- 输液不良小反应zh.ppt
- 2025年中山市沙溪镇人民政府所属事业单位招聘11人笔试备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库含答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库参考答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及答案详解一套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及完整答案详解1套.docx
文档评论(0)