数据库原理与应用9课件.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库原理与应用9课件

访问数据库的程序; 嵌入式SQL是指在程序内执行的SQL语句,它强调这些SQL语句是“嵌入”在编程语言的常规语句中的。Java中标准的嵌入式SQL称为SQLJ,可以在ORACLE、INFORMIX、DB2 UDB中使用,也可以通过JDBC在Java中使用,JDBC是标准Java的一部分,用来连接任何数据库。我们将重点放在C语言编写的嵌入式SQL程序。 在本章中,我们将会碰到两种数据库系统的差别,即 oracle 和 db2 udb ;5.1 C语言中嵌入SQL的介绍;exec sql select cname, discnt into : cust_name, :cust_discnt from customers where cid=:cust_id 则检索到顾客编号为c001的顾客的名字和折扣率,并将它们分别赋值给变量cust_name , cust_discnt 。 当然,要在嵌入式SQL中使用这些宿主变量,必须先声明它们,包括对预编译程序的声明。; exec sql begin declare section ; char cust_id[5]=“c001”; char cust_name[14]; float cust_discnt; exec sql end declare section; 这三个变量的声明是标准的C语言中的声明,出现在begin declare 和 end declare语句之间,这是预编译程序和C语言程序都能理解的相同的格式。嵌入式SQL中使用的宿主变量必须能被数据库系统识别。 ; 在SQL中建立和释放数据库连接: 考虑怎样与数据库管理系统建立数据库连接。 在Full SQL-99中 连接到SQL数据库的语法: exec sql connect to target-server [as connect-name][user username] 或 exec sql connect to default target-server是目标数据库名,connect-name是对这次该数据库连接的一个名字,以后当再次使用是,可以直接引用它;username是该数据库的一个合法用户名。 connect to default是默认数据库的连接。 ;由于不同平台在用户识别、权限要求方面的可变性,connect语句并不是Entry SQL-92和Core SQL-99的一部分。 在ORACLE和DB2 UDB中,字符串常量通常不能直接作为connect语句的参数,我们需要首先声明: exec sql begin declare section ; char user_name[10],user_pwd[10]; exec sql end declare section; 设口令“1234” ,我们对上述变量初始化: strcpy(user_name,”cap”); strcpy(user_pwd,”1234”);;那么在DB2 中嵌入式SQL的Connect语句为: exec sql connect to cap : user_name using : user_pwd; 在ORACLE中嵌入式SQL的Connect语句为: exec sql connect : user_name identified by: user_pwd; 简单的断开连接: exec sql disconnect current / connect_name ; 注意: 在断开连接之前,必须对成功的事务提交确认,或是对失败的事务回滚以撤消已做的工作,否则直接断开连接会失败。;对成功的任务结束为: exec sql commit work; exec sql disconnect current; 对 失败的任务结束则为: exec sql rollback work; exec sql disconnect current; 在ORACLE中 可以使用 exec sql commit release ; 或 exec sql rollback release ; ;例5.1.1 实现一个嵌入式SQL程序,要求程序不断提示用户输入一个顾客的cid,显示该顾客的名字和折扣,当用户输入一个空字符串则程序终止。 程序

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档