第10次课-数据库编程ppt课件.ppt

第10次课-数据库编程ppt课件.ppt

ID:59195266

大小:461.00 KB

页数:50页

时间:2020-09-26

第10次课-数据库编程ppt课件.ppt_第1页
第10次课-数据库编程ppt课件.ppt_第2页
第10次课-数据库编程ppt课件.ppt_第3页
第10次课-数据库编程ppt课件.ppt_第4页
第10次课-数据库编程ppt课件.ppt_第5页
资源描述:

《第10次课-数据库编程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库系统概论AnIntroductiontoDatabaseSystem第八章数据库编程AnIntroductiontoDatabaseSystem第八章数据库编程嵌入式SQL存储过程ODBC编程AnIntroductiontoDatabaseSystem8.1嵌入式SQLSQL语言提供了两种不同的使用方式:交互式嵌入式为什么要引入嵌入式SQLSQL语言是非过程性语言事务处理应用需要高级语言这两种方式细节上有差别,在程序设计的环境下,SQL语句要做某些必要的扩充AnIntroductiontoDatabaseSyste

2、m8.1.1嵌入式SQL的处理过程主语言嵌入式SQL是将SQL语句嵌入程序设计语言中,被嵌入的程序设计语言,如C、C++、Java,称为宿主语言,简称主语言。处理过程预编译方法AnIntroductiontoDatabaseSystem嵌入式SQL的处理过程(续)主语言程序含ESQL语句RDBMS的预处理程序ESQL语句转换为函数调用主语言编译程序目标语言程序ESQL基本处理过程AnIntroductiontoDatabaseSystem嵌入式SQL的处理过程(续)为了区分SQL语句与主语言语句,所有SQL语句必须加前缀

3、EXECSQL,以(;)结束:EXECSQL;AnIntroductiontoDatabaseSystem五、程序实例[例1]依次检查某个系的学生记录,交互式更新某些学生年龄。EXECSQLBEGINDECLARESECTION;/*主变量说明开始*/chardeptname[64];charHSno[64];charHSname[64];charHSsex[64];intHSage;intNEWAGE;EXECSQLENDDECLARESECTION;/*主变量说明结束*/longSQLCODE;EXEC

4、SQLINCLUDEsqlca;/*定义SQL通信区*/AnIntroductiontoDatabaseSystem程序实例(续)intmain(void)/*C语言主程序开始*/{intcount=0;charyn;/*变量yn代表yes或no*/printf("Pleasechoosethedepartmentname(CS/MA/IS):");scanf("%s",deptname);/*为主变量deptname赋值*/EXECSQLCONNECTTOTEST@localhost:54321USER"SYSTEM"

5、/"MANAGER";/*连接数据库TEST*/EXECSQLDECLARESXCURSORFOR/*定义游标*/SELECTSno,Sname,Ssex,Sage/*SX对应语句的执行结果*/FROMStudentWHERESDept=:deptname;EXECSQLOPENSX;/*打开游标SX便指向查询结果的第一行*/AnIntroductiontoDatabaseSystem程序实例(续)for(;;)/*用循环结构逐条处理结果集中的记录*/{EXECSQLFETCHSXINTO:HSno,:HSname,:H

6、Ssex,:HSage;/*推进游标,将当前数据放入主变量*/if(sqlca.sqlcode!=0)/*sqlcode!=0,表示操作不成功*/break;/*利用SQLCA中的状态信息决定何时退出循环*/if(count++==0)/*如果是第一行的话,先打出行头*/printf("%-10s%-20s%-10s%-10s","Sno","Sname","Ssex","Sage");printf("%-10s%-20s%-10s%-10d",HSno,HSname,HSsex,HSage);/*打印查询结

7、果*/printf("UPDATEAGE(y/n)?");/*询问用户是否要更新该学生的年龄*/do{scanf("%c",&yn);}while(yn!='N'&&yn!='n'&&yn!='Y'&&yn!='y');AnIntroductiontoDatabaseSystem程序实例(续)if(yn=='y'

8、

9、yn=='Y')/*如果选择更新操作*/{printf("INPUTNEWAGE:");scanf("%d",&NEWAGE);/*用户输入新年龄到主变量中*/EXECSQLUPDATEStudent/*嵌入

10、式SQL*/SETSage=:NEWAGEWHERECURRENTOFSX;}/*对当前游标指向的学生年龄进行更新*/}EXECSQLCLOSESX;/*关闭游标SX不再和查询结果对应*/EXECSQLCOMMITWORK;/*提交更新*/EXECSQLDISCONNECTTEST;/*断开数据库连接*/}AnInt

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

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

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