- 1、本文档共172页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态SQL 例子2: 删除某年以前出生的某些学生记录, 要求由键盘输入年份(仅给出程序段) exec sql begin declare section; char sqlString[200]; int birthYear; exec sql end declare section; …. strcpy(sqlString, “delete from Students where 2009- Sage=:y;”); printf(“Enter birthYear for deleting:”); Scanf(“%d”, birthYear); exec sql prepare q1 from :sqlString; SQL中带有参数 不在任何地方说明, 仅占位 动态SQL exec sql execute q1 using :birthYear; …. 例子3: 求选修某门课程号的学生和成绩, 按什么排序由查询者指定(仅给出程序段) …. //主变量说明 char orderBy[150]; strcpy(sqlString, “select Sno, Grade from SC where Cno=:C”); printf(“输入orderby子句:”); scanf(“%s”, orderBy); strcat(sqlString, orderBy); printf(“输入课程号:”); 查询需要返回结果,但是否是多个元组, 在编程时不能确定 动态SQL scanf(“%s”, givenCno); exec sql prepare query1 from :sqlString; exec sql declare cursor4 cursor for query; exec sql open cursor4 using :givenCno; while(1) { exec sql fetch cursor4 into :Sno, :Grade :GradeIn; if(sqlca.sqlcode==100) break; if(sqlca.sqlcode0) break; … } 访问数据库 DBMS DBMS 程序 DBMS 程序 API ODBC和JDBC ODBC:Open DataBase Connectivity JDBC:Java DataBase Connectivity 特点: 程序不需要重新编译,就可以在多个不同的DBMS上进行操作 可以同时访问多个DBMS ?在源代码级和代码执行级独立于DBMS … ODBC / JDBC 程序 ODBC和JDBC 体系结构:四个主要组件 应用 驱动器管理 多个数据源指定的驱动器 数据源 … ODBC / JDBC 程序 ODBC和JDBC 应用 初始化、终止与数据源的连接 通过定义好的ODBC/JDBC API,提交SQL语句、获得结果 驱动器管理 加载ODBC/JDBC 驱动器 从应用层传递ODBC/JDBC函数到正确的驱动器 处理从应用层提交的ODBC/JDBC初始化和信息调用,并纪录所用的功能调用。 执行初步的错误检测 ODBC和JDBC 驱动器 建立与数据源的连接 提交请求、返回请求结果 转换数据源与ODBC/JDBC间的数据格式、错误格式和错误代码 数据源 处理从驱动器发来的命令 返回结果 ODBC和JDBC 不同的体系结构 JDBC体系结构:通常有4种类型 桥 将JDBC函数调用直接翻译到另一种API,但不是到DBMS的本地API。例如:ODBC-JDBC桥。 应用只加载一个驱动器。 直接翻译到本地的(最初的)API 将JDBC函数调用直接翻译到某一个指定的数据源之上的API的方法调用。驱动器动态链接到指定的数据源上。 ODBC和JDBC 不同的体系结构 JDBC体系结构:通常有4种类型 网络桥 驱动器与网络中的中间件通讯,将JDBC函数调用翻译为DBMS指定的方法调用。 注意,客户方的驱动器(在网络桥场地的驱动器)通常不是面向DBMS的。 直接翻译到socket(套接字) 不直接调用DBMS API,驱动器通过JAVA socket与DBMS通讯。 注意,客户方的驱动器是面向DBMS的 使用JDBC的实例 JDBC是一组JAVA和接口的集合,用户可以用JAVA编程语言来直接访问数据库。 java.sql包中包括类和接口 使用JDBC的实例 数据
您可能关注的文档
- 数据结构IA数据结构初步幻灯片.ppt
- 晋级课件苏皖大区张学军苏皖大区张学军培训督导述职5分钟——高级或资深幻灯片.pptx
- 数据结构-高职计算机-97484-第八章排序幻灯片.ppt
- 数控机床教学作者任立军精品课件学习项目3课件幻灯片.ppt
- 数据结构-高职计算机-97484-第二章线性表幻灯片.pptx
- 暖通空调课件第6章全空气系统与空气水系统2013章节幻灯片.ppt
- 暨大生化课件序论幻灯片.ppt
- 数据结构-高职计算机-97484-第六章图幻灯片.pptx
- 暨南大学课件幻灯片.ppt
- 数控机床教学作者任立军精品课件学习项目4课件幻灯片.ppt
- 五位一体教案教学教案设计.docx
- 思修与法基-教学教案分享.pptx
- 大学军事之《中国国防》题库分享.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.pdf
- 思修与法基 教学全案分享.docx
- 大学军事之《军事思想》题库分享.docx
- 《经济思想史》全套课件-国家级精品课程教案课件讲义分享.pdf
- 厦门大学国际金融全套资料(国家级精品课程)--全套课件.pdf
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章中国特色社会主义理论体系的形成发展分享.pdf
文档评论(0)