查询结果为单记录的SELECT语句-内蒙古民族大学.ppt

查询结果为单记录的SELECT语句-内蒙古民族大学.ppt

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

An Introduction to Database System;1;8.1 嵌入式SQL;8.1 嵌入式SQL;8.1.1 嵌入式SQL的处理过程;嵌入式SQL的处理过程(续) ;嵌入式SQL的处理过程(续) ;8.1 嵌入式SQL;8.1.2 嵌入式SQL语句 与主语言之间的通信;嵌入式SQL语句 与主语言之间的通信(续) ;一、SQL通信区;SQL通信区;二、主变量 ;主变量(续) ;主变量(续) ;主变量(续) ;主变量(续) ;主变量(续) ;三、游标(cursor);三、游标(cursor); 游标(续);四、建立和关闭数据库连接;四、建立和关闭数据库连接;五、程序实例;int main(void) /*C语言主程序开始*/ { int count = 0; char yn; /*变量yn代表yes或no*/ printf(Please choose the department name(CS/MA/IS): ); scanf(%s, deptname); /*为主变量deptname赋值*/ EXEC SQL CONNECT TO TEST@localhost:54321 USER SYSTEM /MANAGER; /*连接数据库TEST*/ EXEC SQL DECLARE SX CURSOR FOR /*定义游标*/ SELECT Sno, Sname, Ssex, Sage /*SX对应语句的执行结果*/ FROM Student WHERE SDept = :deptname; EXEC SQL OPEN SX; /*打开游标SX便指向查询结果的第一行*/;for ( ; ; ) /*用循环结构逐条处理结果集中的记录*/ { EXEC SQL FETCH SX INTO :HSno, :HSname, :HSsex,:HSage; /*推进游标,将当前数据放入主变量*/ if (sqlca.sqlcode != 0) /* sqlcode != 0,表示操作不成功*/ break; /*利用SQLCA中的状态信息决定何时退出循环*/ if(count++ == 0) /*如果是第一行的话,先打出行头*/ printf(\n%-10s %-20s %-10s %-10s\n, Sno, Sname, Ssex, Sage); printf(%-10s %-20s %-10s %-10d\n, HSno, HSname, HSsex, HSage); /*打印查询结果*/ printf(UPDATE AGE(y/n)?); /*询问用户是否要更新该学生的年龄*/ do{ scanf(%c,yn); } while(yn != N yn != n yn != Y yn != y); ; if (yn == y || yn == Y) /*如果选择更新操作*/ { printf(INPUT NEW AGE:); scanf(%d,NEWAGE); /*用户输入新年龄到主变量中*/ EXEC SQL UPDATE Student /*嵌入式SQL*/ SET Sage = :NEWAGE WHERE CURRENT OF SX ; } /*对当前游标指向的学生年龄进行更新*/ } EXEC SQL CLOSE SX; /*关闭游标SX不再和查询结果对应*/ EXEC SQL COMMIT WORK; /*提交更新*/ EXEC SQL DISCONNECT TEST; /*断开数据库连接*/ };8.1 嵌入式SQL;8.1.3 不用游标的SQL语句;不用游标的SQL语句(续

文档评论(0)

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

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

1亿VIP精品文档

相关文档