《数据库原理及应用》PPT课件.ppt

《数据库原理及应用》PPT课件.ppt

ID:51478051

大小:270.81 KB

页数:29页

时间:2020-03-24

《数据库原理及应用》PPT课件.ppt_第1页
《数据库原理及应用》PPT课件.ppt_第2页
《数据库原理及应用》PPT课件.ppt_第3页
《数据库原理及应用》PPT课件.ppt_第4页
《数据库原理及应用》PPT课件.ppt_第5页
资源描述:

《《数据库原理及应用》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、访问数据库的程序在现实中,直接通过SQL访问数据库的最终用户并不多,大多数用户仍然通过应用程序接口访问数据。此外,非过程性的SQL语句能力有限,还有一些任务需要写一组SQL语句来读取不同的行,然后根据所读到的内容来更新其中的某些行,这时必须保证其他用户所做的修改不会破坏结果。我们需要将这一组SQL语句捆绑在特定的不可分割的包内,即事务。嵌入式SQL是指在程序内执行的SQL语句,它强调这些SQL语句是“嵌入”在编程语言的常规语句中的。Java中标准的嵌入式SQL称为SQLJ,可以在ORACLE、INFORMIX、DB2UDB中使用,也可以通过JDBC在Java中使用,JD

2、BC是标准Java的一部分,用来连接任何数据库。我们将重点放在C语言编写的嵌入式SQL程序。在本章中,我们将会碰到两种数据库系统的差别,即oracle和db2udb5.1C语言中嵌入SQL的介绍关键词execsql声明SQL语句嵌入到宿主语言源文件中。例如:execsqlselectcount(*)into:host_varfromcustomers;注:1、execsql可以扩展到该文件的多行。2、在嵌入式SQL中使用宿主变量时必须加(:)例:假如字符串变量cust_id在C程序中被赋值为“c001”execsqlselectcname,discntinto:cust

3、_name,:cust_discntfromcustomerswherecid=:cust_id则检索到顾客编号为c001的顾客的名字和折扣率,并将它们分别赋值给变量cust_name,cust_discnt。当然,要在嵌入式SQL中使用这些宿主变量,必须先声明它们,包括对预编译程序的声明。execsqlbegindeclaresection;charcust_id[5]=“c001”;charcust_name[14];floatcust_discnt;execsqlenddeclaresection;这三个变量的声明是标准的C语言中的声明,出现在begindecla

4、re和enddeclare语句之间,这是预编译程序和C语言程序都能理解的相同的格式。嵌入式SQL中使用的宿主变量必须能被数据库系统识别。在SQL中建立和释放数据库连接:考虑怎样与数据库管理系统建立数据库连接。在FullSQL-99中连接到SQL数据库的语法:execsqlconnecttotarget-server[asconnect-name][userusername]或execsqlconnecttodefaulttarget-server是目标数据库名,connect-name是对这次该数据库连接的一个名字,以后当再次使用是,可以直接引用它;username是该

5、数据库的一个合法用户名。connecttodefault是默认数据库的连接。由于不同平台在用户识别、权限要求方面的可变性,connect语句并不是EntrySQL-92和CoreSQL-99的一部分。在ORACLE和DB2UDB中,字符串常量通常不能直接作为connect语句的参数,我们需要首先声明:execsqlbegindeclaresection;charuser_name[10],user_pwd[10];execsqlenddeclaresection;设口令“1234”,我们对上述变量初始化:strcpy(user_name,”cap”);strcpy(us

6、er_pwd,”1234”);那么在DB2中嵌入式SQL的Connect语句为:execsqlconnecttocap:user_nameusing:user_pwd;在ORACLE中嵌入式SQL的Connect语句为:execsqlconnect:user_nameidentifiedby:user_pwd;简单的断开连接:execsqldisconnectcurrent/connect_name;注意:在断开连接之前,必须对成功的事务提交确认,或是对失败的事务回滚以撤消已做的工作,否则直接断开连接会失败。对成功的任务结束为:execsqlcommitwork;exe

7、csqldisconnectcurrent;对失败的任务结束则为:execsqlrollbackwork;execsqldisconnectcurrent;在ORACLE中可以使用execsqlcommitrelease;或execsqlrollbackrelease;例5.1.1实现一个嵌入式SQL程序,要求程序不断提示用户输入一个顾客的cid,显示该顾客的名字和折扣,当用户输入一个空字符串则程序终止。程序头如下:#include#include”prompt.h”/*headerfordbssqlcastructur

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

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

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