130 likes | 312 Views
教学目的与要求. 掌握嵌套查询 掌握 UPDATE 掌握 INSERT INTO、DELE FROM 掌握查询在表单中的应用. 嵌套查询. 首先在 一个表 中基于 公共字段 查找出一个 集合 ;然后在 另一个表 中查找公共字段值 属于或不属于 这个集合的记录。 例 1 :查找所有没选课的学生,显示学号和姓名 SELE 学号 , 姓名 FROM 学生表 WHERE 学号 ; NOT IN ( SELE 学号 FROM 成绩表 )
E N D
教学目的与要求 • 掌握嵌套查询 • 掌握UPDATE • 掌握INSERT INTO、DELE FROM • 掌握查询在表单中的应用
嵌套查询 首先在一个表中基于公共字段查找出一个集合;然后在另一个表中查找公共字段值属于或不属于这个集合的记录。 例1:查找所有没选课的学生,显示学号和姓名 SELE学号,姓名 FROM学生表WHERE学号; NOT IN (SELE 学号 FROM 成绩表) 例2:查询没有被学生选修的课程,查询结果含“课程名”和“开课单位”两个字段,结果按课程名升序保存在一个新表NEW_TABLE中 SELE课程名,开课单位 FROM课程WHERE课程号; NOT IN (SELE 课程号 FROM 成绩) ORDER BY课程名 INTO TABLE NEW_TABLE
UPDATE 修改表中字段内容,与REPLACE类似 1.UPDATE stock_bk SET现价=8.88; WHERE股票代码="600007" 2.UPDATE学生 SET出生日期={^1983/05/01}; WHERE姓名="王三风" 3.UPDATE BOOKS_BAK SET价格=价格*0.95
INSERT INTO、DELE FROM 插入、删除记录 1.INSERT INTO stock_bk; VALUES("600028", 4.36, 4.60, 5500) 2.DELETE FROM stock_bk; WHERE股票代码="600000"
查询在表单中的应用 设计文件名为MYSTU的表单,表单的标题为“学生学习情况统计”。表单中有一个选项组控件(myoption),含有两个按钮:升序和降序;两个命令按钮:标题分别为计算和退出。运行表单时,分别选择升序或降序,然后单击计算按钮,将选修了C语言的学生学号和成绩存入S1.DBF和S2.DBF中。单击“退出”关闭表单。 (第9套)
查询在表单中的应用 1.对选项组的修改: Name属性改为“myOption”, 修改选项组按钮的标题。 2. “计算”按钮的Click代码: DO CASE CASE THISFORM.MYOPTION.VALUE=1 SELECT学号,成绩 FROM选课,课程; WHERE 课程.课程号=选课.课程号 AND课程名称="C语言" ; ORDER BY成绩 INTO DBF S1 CASE THISFORM.MYOPTION.VALUE=2 SELECT学号,成绩 FROM选课,课程; WHERE课程.课程号=选课.课程号 AND课程名称="C语言" ; ORDER BY成绩 DESCINTO DBF S2 ENDCASE
查询在表单中的应用 设计文件名为MYSUPPLY的表单,表单的标题为“零件供应情况”。表单中有一个表格和两个命令按钮:标题分别为查询和退出。运行表单时,单击查询按钮,表格控件中显示工程号J4所用零件的零件名,颜色和重量。单击“退出”关闭表单。 (第8套)
查询在表单中的应用 1.对表格控件的修改 RecordSourceType设为4-SQL说明,Columncount设为3。 修改三个Header1的Caption属性值为“零件名”、“颜色”、 、“重量”。 2. “查询”按钮的Click代码: THISFORM.GRID1.RECORDSOURCE=; "SELECT DISTINCT零件名,颜色,重量; FROM零件,供应; WHERE零件.零件号=供应.零件号 AND工程号='J4' ; INTO CURSOR T1" 注意:J4的引号与外面的引号一定要区分开,如一个用 单引号,另一个就用双引号,否则语法错误。
查询在表单中的应用 设计文件名为FORM_BOOK的表单,表单的标题为“图书情况统计”。表单中有一个组合框,一个文本框和两个命令按钮:标题分别为统计和退出。运行表单时,组合框中只有三个条目:清华、北航和科学,选择某个后,单击统计按钮,文本框显示图书表中该出版社出版的图书总数。单击“退出”关闭表单。 (第7套)
查询在表单中的应用续 1.对组合框的修改 RowSourceType属性为“1-值”,RowSource属性为清华, 北航,科学,不必加引号,西文半角逗号分隔,Style属 性设为“2-下拉列表框”。 2.“统计”按钮的Click代码: X=THISFORM.COMBO1.VALUE SELECTCOUNT(*)FROM BOOK WHERE 出版社=X ; INTO ARRAY AA THISFORM.TEXT1.VALUE=AA(1)
查询在表单中的应用 设计文件名为MYFORM1的表单,表单的标题为“成绩查询”。表单中有一个“输入学号”标签和相应的文本框,一个表格控件和两个命令按钮:标题分别为查询和退出。运行表单时,先输入学号,单击查询按钮,若学号正确,表格控件中显示该生所选课程名和成绩,否则提示“学号不存在,请重输!”。单击“退出”关闭表单。 (第6套)
查询在表单中的应用 1.对表格控件的修改 RecordSourceType设为4-SQL说明,Columncount设为2。 修改Header1的Caption属性值为“课程名”、“成绩”。 2. “查询”按钮的Click代码: THISFORM.GRID1.RECORDSOURCE='SELE课程名,成绩; FROM COURSE,SCORE1; WHERE COURSE.课程号=SCORE1.课程号; AND 学号=ALLTRIM(THISFORM.TEXT1.VALUE); INTO CURSOR T1' IF EMPTY(课程名) MESSAGEBOX('学号不存在,请重输!') ENDIF
作业 • 实验十五