第一篇:VFP查询实验报告[范文模版]
实验五
查询设计器和SQL查询命令
学号:
姓名:
班级:
一、实验目的
1.掌握用查询设计器建立查询的方法。2.掌握用SQL语句建立单表查询的方法。
二、实验内容
实验5-1 建立一人个查询,查询文件名为chaxun1.qpr,检索表文件student.dbf中总分大于500的学生的学号、姓名、性别、总分。操作方法如下:
实验5-2 建立一个查询,查询文件名为chaxun2.qpr,检索student、score、course表中选修的课程代码是“091101”的所有学生的学号、姓名、性别、课程名称、学分和成绩,并按成绩的降序排列,将查询的结果输出到表文件shuchu中。操作方法如下:
实验5-3 使用SQL语句,在表文件student.dbf中查询所有男生的信息。操作命令:
实验5-4 使用SQL语句,在表文件student.dbf中查询总分大于550的学生的学号、姓名、总分。操作命令:
实验5-5 使用SQL语句,在表文件student.dbf中查询总分大于550的所有男生的学号、姓名、总分。操作命令:
实验5-6 从student表和score表中,检索所有女同学的学号、姓名、和score表中的成绩。操作命令:
三、心得体会
四、遗留问题
教师填写:
成绩:
评语:
批改时间:
第二篇:VFP实验报告总结
南京信息工程大学实验(实习)报告
实验(实习)名称顺序和选择结构程序设计实验(实习)日期 得分 指导老师
系专业 班级 学号 【实验目的】
1、掌握程序的建立、修改与运行
2、掌握基本输入输出语句与函数
3、熟练掌握if语句(包括单分支和双分支)和do case语句的使用。
4、分析程序的运行结果。
【实验内容】
操作结果的界面截图显示。
1、从键盘输入两个数存入变量x和y,若x>y则交换他们的值,否则直接输出x和y的值。
2、执行下列程序后,变量x的值为()。x=1 if x>=1 do case case x>0 x=x+1 case x>1 x=x+1 otherwise x=4 endcase else x=3 endif
3、执行下列命令序列,屏幕显示()a=100 b=50 a=a+b b=a-b b=a*2 ? a+b
4、执行下列命令序列,屏幕显示()。b=6 do case case mod(b,3)=0 b=b+1 case mod(b,2)=0 b=b+2 otherwise b=b+3 endcase ? b
5、执行下列命令序列,屏幕显示()input to a if a=10 b=0 else b=1 endif ? b篇二:vfp实验报告
天水师范学院数学与统计学院
实验报告
实验项目名称 所属课程名称 实 验 类 型 实 验 日 期
班 级 学 号 姓 名 成 绩 1 附录1:源 程 序 2 附录2:实验报告填写说明
1.实验项目名称:要求与实验教学大纲一致。2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。3.实验原理:简要说明本实验项目所涉及的理论知识。4.实验环境:实验用的软、硬件环境。5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。概括整个实验过程。对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。对于创新性实验,应注明其创新点、特色。6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。7.实验结论(结果):根据实验过程中得到的结果,做出结论。8.实验小结:本次实验心得体会、思考和建议。9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。3 篇三:vfp实验报告范例
指导老师 万润泽 实验名称visual foxpro 操作基础
同组人 日期日 成绩
一、实验目的
1)理解各种不同的数据类型 2)常量的含义以及各种不同数据类型的常量 3)变量的含义以及字段变量、内存变量、系统变量和数组变量的使用
二、实验环境(仪器设备、软件等)windowsxp操作系统、visual foxpro环境
三、实验原理(或要求)
(1)数值型、货币型、字符型、日期型和日期时间型常量的输入
(2)日期格式的设置的命令
(3)字段变量与内存变量同名时候,观察赋值运算结果(4)数组变量的赋值
(5)内存变量显示、清除与保存所使用的命令
四、实验步骤
?”计算机”,?123.45?,[?abc?,?abc?] 日期格式的设置
set century on|off set date to american ?{^2007-1-2} 结果: set mark to “.” ?{^2007-1-2} 结果 set strictdate to 0 ?{2007-5-30} 结果 set century on set mark to “|” set date to ymd 结果
创建一个学生表“学生.dbf”,其中包含字段学号、姓名、性别、出生日期等字段。并输入多行记录,再使用以下命令 use 学生
?姓名 go 3 ?姓名
五、记录与处理(实验数据、误差分析、结果分析)
注意:
实验步骤与记录处理合成一个部分,都是用来记载上机实验中的代码以及运行结果,对于visual foxpro编程而言,不必分两个部分。
在此页中继续写入程序代码以及相应的运行结果。
这个部分内容到课本52面结束
六、思考题
1、什么是常量?visual foxpro中哪几种类型的数据有常量表示?
2、什么是变量?visual foxpro中有哪几种变量?变量名取名是如何规定的?
七、实验小结
这个地方可以写入自己对上机内容的理解,也可把自己不懂的内容写在下面
同组人 日期 成绩
一、实验目的
1)掌握表达式中各种运算符的运算规则 2)掌握各种类别的运算符的优先级 3)理解函数的三要素以及各常用函数的用法
二、实验环境(仪器设备、软件等)windowsxp操作系统、visual foxpro环境
三、实验原理(或要求)(1)几种算术运算符、日期时间运算符和关系运算符的规则与使用
(2)字符串匹配运算符“=”、“= =”、“$”的含义
(3)在含有多种运算符的表达式中根据运算符优先级进行运算
(4)常用函数的用法,注意函数的参数与返回类型
四、实验步骤 p52 例3-8 3-9 3-10 例3-12 课后练习习题一(13)小题
例 3-14
五、记录与处理(实验数据、误差分析、结果分析)
(接上页)
例 3-15 ~ 34 选取有代表性的例子
注意:
实验步骤与记录处理合成一个部分,都是用来记载上机实验中的代码以及运行结果,对于visual foxpro编程而言,不必分两个部分。
在此页中继续写入程序代码以及相应的运行结果。
这个部分内容从课本53到课本63面结束
六、思考题
1.什么是表达式?当一个表达式中有多种类型的运算符并存时,一般的运算
顺序是什么?
2.函数的三要素是什么?试指出month()函数在使用时的参数和返回值
数据类型?另外测试数据类型的函数是什么?
七、实验小结
这个地方可以写入自己对上机内容的理解,也可把自己不懂的内容写在下面
同组人 日期 成绩
一、实验目的
1)掌握数据库的基本操作
2)掌握表的基本操作,包括表结构的创建、表结构的显示与修改以及表记录的显示、增加和修改
3)理解索引的概念并会在表设计器中建立索引
二、实验环境(仪器设备、软件等)windowsxp操作系统、visual foxpro环境
三、实验原理(或要求)
(1)建立自由表,并使用表设计器设计每个字段的字段名、数据类型、宽度等
(2)在数据库中创建表,在表设计器中对字段的有效性规则、默认值、格式、输入掩码等进行修改
(3)表的打开与浏览,增加表记录和删除表记录
(4)在表设计器中建立索引,另外通过命令方式建立索引
四、实验步骤
这个部分内容从69面到课本88面结束
例4-1 显示表结构 例4-3 显示男生的记录
例4-4 例4-7 8 9 理解物理删除和逻辑删除之间的区别
例4-11
五、记录与处理(实验数据、误差分析、结果分析)
注意:
实验步骤与记录处理合成一个部分,都是用来记载上机实验中的代码以及运行结果,对于visual foxpro编程而言,不必分两个部分。
在此页中继续写入程序代码以及相应的运行结果。
六、思考题
1)什么叫参照完整性?参照完整性分为哪几种? 2)数据库表和自由表有什么区别?
七、实验小结
这个地方可以写入自己对上机内容的理解,也可把自己不懂的内容写在下面
同组人 日期 成绩
一、实验目的
1)使用sql查询语句对表进行条件查询 2)理解select命令中的几个常用关键字的含义 3)能熟练掌握简单查询、联接查询、嵌套查询 4)排序显示查询结果和计算查询
二、实验环境(仪器设备、软件等)windowsxp操作系统、visual foxpro环境
三、实验原理(或要求)1)select说明要查询的数据 2)from说明要查询的数据来自哪些表 3)where说明查询的条件
4)order by 用来对查询的结果排序 5)几个特殊的运算符,如like,not in,between。。and。。,以及计算查询
中用到的函数,如count,sum,avg,max,min等
四、实验步骤
这个部分内容从104面到课本112面结束
例5-1 到 5-21 选择典型的sql查询语句
五、记录与处理(实验数据、误差分析、结果分析)
(接上面的实验步骤)
注意:
实验步骤与记录处理合成一个部分,都是用来记载上机实验中的代码以及运行结果,对于visual foxpro编程而言,不必分两个部分。
在此页中继续写入程序代码以及相应的运行结果。
六、思考题
1、课本136面
三、上机题 2(注:题目也要抄写)
2、课本136面
三、上机题 3(注:题目也要抄写)
七、实验小结
这个地方可以写入自己对上机内容的理解,也可把自己不懂的内容写在下面篇四:vfp实验报告1 实验报告 时间:2013.4.6 地点:经济管理学院机房
实验1:visual foxpro 集成环境及项目管理 实验目的:1.掌握vfp启动与退出的各种方法 2.熟悉vfp的集成操作环境,包括掌握工具栏、命令窗口打开与关闭的方法 3.了解“选项”对话框的内容,并掌握一些常用的设置与命令 4.了解vfp帮助系统的大致结构,掌握其使用方法 5.掌握项目文件建立与打开的方法 6.了解项目管理器的结构及其定制方法 实验内容:
一、vfp的启动与退出 1.vfp的启动 2.vfp的退出
二、工具栏
1、通过菜单命令“编辑”——“工具栏”
“工具栏”对话框
2、右击工具栏无按钮区域,利用快捷菜单打开与关闭快捷菜单 vfp主窗口
“工具栏”快捷菜单
三、“命令”窗口
1、命令窗口的打开与关闭
2、在“命令”窗口中执行命令 练习内容: ①计算并显示算术表达式的值 ;?和??命令的区别
②clear清除vfp主窗口中所有信息;显示默认文件夹中类型为dbf的文件目录 ;显示d盘根文件夹中所有文件的目录
③新建文件夹、复制文件夹、改名文件、删除文件、运行“计算器”
3、命令的编辑与重用
四、“选项”对话框
五、vfp的帮助系统 菜单命令”帮助——vfp帮助主题”
六、创建项目文件 “新建”对话框;“创建”对话框
1、项目文件的打开与关闭
2、项目管理器的定制
3、利用项目管理器管理文件
①添加文件 ②移去文件 ③其他操作
实验心得:通过这次实验,进一步掌握了vfp 启动与退出的各种方法和vfp项目管理器有关的操作,同时也熟悉了vfp的集成操作环境。篇五:vfp--刘子恒--实验报告1 13级电子信息工程班vfp实验报告1 注:
1、一个实验题目编写一个实验报告,每个报告至少占用1页。
2、报告内容必须具体、详实,不得笼统、简单。
第三篇:Access数据库应用技术实验报告查询(精选)
数据库应用技术实验报告
查询
姓
名: 学
号: 班
级: 指导教师:
****年**月**日1 实验目的
掌握选择查询、参数查询、交叉表查询、操作查询、SQL查询的创建。实验总体要求
根据题目选择合适的方法创建查询,可以使用查询向导、查询设计视图和SQL命令。实验步骤可以粘贴查询设计视图截图,也可粘贴SQL命令。实验内容
1、创建查询CX1,查找有超期图书的读者的借书证号、姓名、图书编号、图书名称,借阅日期,超期天数(以当前时间为准,借书时间超过90天为超期)。
2、创建查询CX2,统计每个出版社出版的图书的数量、图书的平均定价。
3、创建查询CX3,查找定价低于图书平均定价的图书的图书编号、图书名称、作者、出版社、定价。
4、创建更新查询CX4,将“图书书目表”的“是否借出”字段根据“借阅登记表”中读者的借阅情况填入正确的值。
5、创建生成表查询CX5,查找从未有读者借阅的图书的图书编号、图书名称、作者、出版社,生成的表名为“未借出过图书”。
6、为“借书证表”增加一字段,字段名为性别、文本型、字段大小为1。创建查询CX6,根据身份证号的第17位输入性别字段的值。(第17位偶数是女,奇数为男)
7、创建交叉表查询CX7,根据输入的出版社参数值,显示该出版社每种类别的图书的数量。(出版社为行标题,类别号为列标题)
8、创建查询CX8,查找借出次数最多的图书的编号、图书名称、作者、出版社。
9、创建查询CX9,将借出次数最多的图书的编号、图书名称、作者、出版社追加到“未借出过图书”表中。实验步骤
1、CX1的SQL命令为:
SELECT 借书证表.借书证号, 借书证表.姓名, 图书书目表.图书编号, 图书书目表.图书名称, 借阅登记表.借阅日期, Date()-[借阅日期] AS 超期天数
FROM 图书书目表 INNER JOIN(借书证表 INNER JOIN 借阅登记表 ON 借书证表.借书证号 = 借阅登记表.借书证号)ON 图书书目表.图书编号 = 借阅登记表.图书编号
WHERE(((Date()-[借阅日期])>90)AND((借阅登记表.归还日期)Is Null));
CX1的查询结果为:
2、CX2的设计视图为:
CX2的查询结果为: SQL:SELECT 图书书目表.出版社,count(图书书目表.出版社)as 数量,avg(图书书目表.定价)as平均定………………………….roup by 图书书目表.出版社;
3、CX3的SQL命令为:
CX3的查询结果为:
4、CX4的SQL命令为:
UPDATE 图书书目表 SET 是否借出 = 1 WHERE………………………….图书书目表.图书编号=借阅登记表.图书编号 and 借阅登记表.归还日期 is null);CX4的查询结果为:
5、CX5的SQL命令为:
SELECT 图书编号, 图书名称, 作者, 出版社 INTO 未借出过图书
………………………….from 借阅登记表 where 图书书目表.图书编号=借阅登记表.图书编号);CX5的查询结果为:
6、CX6的SQL命令为:
UPDATE 借书证表 SET 性别 = Mid(身份证号,17,1);CX6的查询结果为:
7、CX7的SQL命令为:
TRANSFORM Count(图书书目表.图书编号)AS 图书编号之计数 SELECT ………………………….目表.图书编号)AS [总计 图书编号] FROM 图书书目表
GROUP BY 图书书目表.出版社
PIVOT 图书书目表.类别号;CX7的查询结果为:
8、CX8的SQL命令为:
SELECT 图书编号, 图书名称, 作者, 出版社 FROM 图书书目表 WHERE 图书编号=(SELECT TOP 1 图书编号
………………………….ORDER BY Count(图书编号)DESC);CX8的查询结果为:
9、CX9的SQL命令为:
INSERT INTO 未借出过图书(图书编号, 图书名称, 作者, 出版社)SELECT 图书编号, 图书名称, 作者, 出版社 ………………………….SELECT TOP 1 图书编号 FROM 借阅登记表
GROUP BY 借阅登记表.图书编号 ORDER BY Count(图书编号)DESC 5);CX9的查询结果为:
5评语和得分
第四篇:VFP常用函数整理范文
VFP常用函数大全整理
一.字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异.1.取子串函数:
格式:substr(c,n1,n2)
功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符型.例:取姓名字符串中的姓.store “王小风” to xm
?substr(xm,1,2)
结果为:王
2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型.trim(字符串):删除字符串的尾部空格
alltrim(字符串):删除字符串的前后空格
ltrim(字符串):删除字符串的前面的空格
例:去掉第一个字符串的尾空格后与第二个字符串连接
store “abcd ” to x
store “efg” to y
?trim(x)+y
abcdefg
3.空格函数:
格式:space(n)
说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数).例:定义一个变量dh,其初值为8个空格
store space(8)to dh
4.取左子串函数:
格式:left(c,n)功能:取字符串C左边n个字符.5.取右子串函数:
格式:right(c,n)
功能:取字符串c右边的n个字符
例:a=“我是中国人”
?right(a,4)
国人
322 &&隐含四舍五入取整转换为字符型数据
?left(a,2)
我
6.empty(c):用于测试字符串C是否为空格.7.求子串位置函数:
格式:At(字符串1,字符串2)
功能:返回字符串1在字符串2的位置
例:?At(“教授”,“副教授”)
8.大小写转换函数:
格式:
lower(字符串)
upper(字符串)
功能:lower()将字符串中的字母一律变小写;upper()将字符串中的字母一律变大写
例:
bl=“FoxBASE”
?lower(bl)+space(2)+upper(bl)
foxbase FOXBASE
9.求字符串长度函数:
格式:len(字符串)
功能:求指定字符串的长度
例:a=“中国人”
?len(a)
二.数学运算函数:
1.取整函数:
格式:int(数值)
功能:取指定数值的整数部分.例:取整并显示结果
?int(25.69)
2.四舍五入函数:
格式:round(数值表达式,小数位
数)
功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理
例:对下面给出的数四舍五入并显示其结果
?round(3.14159,4),round(2048.9962,0),round(2048.9962,-3)
3.1416 2049 2000
3.求平方根函数:
格式:sqrt(数值)
?str(321.56,6,2)
321.56
功能:求指定数值的算术平方根
例:?sqrt(100)
4.最大值、最小值函数:
格式:
Max(数值表达式1,数值表达式2)
Min(数值表达式1,数值表达式2)
功能:返回两个数值表达式中的最大值和最小值
例:
x1=123.456
x2=234.567
?max(x1,x2)
234.567
?min(x1,x2)
123.456
5.求余数函数:
格式:mod(表达式1,表达式2)
功能:求表达式1对表达式
2的余数
例:
?mod(10,3)
6.求指数、对数函数:
格式:
exp(数值表达式)
log(数值表达式)
功能:
(1).exp()计算自然数e?表达式的值为指数的幂
(2).log()计算表达式值的自然对数,返回lnx的值.例:
x=1
y=exp(x)
?exp(x),log(x)
2.72 1 三.转换函数:
1.数值转数字字符串函数:
格式:str(n,n1,n2)
功能:将数值n转换为字符串,n1为总长度,n2为小数位
例:?str(321.56)
2.字符转数值函数:
格式:val(s)
功能:将数字字符串s转换为数值
例:x=“23”
y=“76”
?val(x)+val(y)
3.字符转日期函数:
格式:ctod(c)
功能:将日期字符串c转换为日期
例:set date ansi &&日期格式设为美国标准化协会格式
?ctod(“^2005.11.14”)
2005.11.14
4.日期转字符函数:
格式:dtoc(d)
功能:将日期d转化为日期字符串
例:将日期型数据转化为字符型日期数据并显示汉字日期.set century on &&开启世纪前缀,即日期中年份用4位表示
set date ansi
rq={^2005.11.14}
rq=dtoc(rq)
?substr(rq,1,4)+“年”+substr(rq,6,2)+“月”+substr(rq,9,2)+“日”
2005年11月14日
5.时间转字符函数:
格式:ttoc(时间)
功能:将时间转为时间字符串
6.字符转时间函数:
格式:ctot(c)
功能:将时间字符串转化为时间
7.字符串替换函数:
格式:stuff(<字符表达式1>,<起始位置>,<字符个数>,<字符表达式2>)
功能:从指定位置开始,用<表达式2>的值去替换<表达式1>中指定个数字符.若<字符个数>为零,直接插入;若<表达式2>为空字符串,则删除<表达式1>中指定个数的字符.例:X=“祝大家新年好!”
?stuff(X,7,4,“春节”)
祝大家春节好
?stuff(X,11,0,“春节”)
祝大家新年春节好
?stuff(x,7,4,“ ”)
祝大家好
8.字符转ASCⅡ码函数:
格式:Asc(<字符表达式>)
功能:把<字符表达式>左边第一个字符转成相应的ASCⅡ码值
例:x=“Foxpro”
?Asc(x),Asc(lower(x))
102
9.ASCⅡ码值转字符函数:
格式:chr(数值表达式)
功能:把数值转成相应的ASCⅡ码字符,返回值为字符型
例:?chr(70)+chr(111)+chr(111+9)
Fox
四.日期函数:
1.系统日期函数:
格式:date()
功能:给出系统的当前日期,返回值是日期型数据.例:显示系统日期
?date()
11/14/05
set date ansi
set century on
?date()
2005.11.14
2.年、月、日函数:
格式:(1).year(日期表达式):从
日期表达式中返回一个由四位数字表示的年份.(2).month(日期表达式):从日期表达式中返回一个用数字表示的月份.(3).day(日期表达式):从日期表达式中返回一个用数字表示的日数.例:测试系统日期
rq=date()
?year(rq),month(rq),day(rq)
2005 11 14
3.系统时间函数:
格式:time()
功能:得到当前时间字符串
例:?time()
20:32:26
4.系统日期时间函数:
格式:datetime()
功能:得到当前日期时间
例:?datetime()
2005.11.14 08:35:12 PM
5.星期函数:
格式:dow(日期表达式)
cdow(日期表达式)
功能:dow用数字表示星期,1表示星期日,7为星期六;cdow用英文表示星期
例:?date()
2005.11.15
?dow(date()),cdow(date())Tuesday
五.测试函数:
1.测试文件尾函数:
格式:eof([n])
说明:
(1).n指定被测工作区号,其范围为1~32767
(2).该函数用于测试指定工作区中的表的记录指针是否指向文件尾,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试文件记录指针是否指向文件尾
use 职工档案
go bottom
?eof()
.F.skip
?eof()
.T.2.测试文件头函数:
格式:bof([n])
说明:
(1).n指定被测工作区号,其范
围为1~32767
(2).用于测试指定工作区中的表的记录指针是否指向文件头,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试记录指针是否指向文件头
use 职工档案
go top
?bof()
.f.skip-1
?bof()
.t.3.测试当前记录号函数:
格式:recno()
功能:得到当前的记录号
例:
use 职工档案
?recno()
skip
?recno()
4.测试表文件记录数函数:
格式:reccount()
功能:得到表的记录数
例:测试“职工档案”表的记录数
use 职工档案
?reccount()
5.测试表字段数函数:
格式:fcount()功能:得到当前的字段数
例:测试“职工档案”表共有多少个字段
use 职工档案
?fcount()
6.测试查找记录是否成功函数:
格式:found()
功能:测试find、seek和locate命令查找记录是否成功.如成功则返回真值,否则为假值.例:在“职工档案”表中查找“小刚”的文化程度
use 职工档案
locate for 姓名=“小刚”
?found()
.t.display
7.文件测试函数:
格式:file(字符表达式)
功能:测试字符表达式指定的文件是否存在
例:?file(“e:myvfp职工档案.dbf”)
.t.8.数据类型测试函数:
格式:type(字符表达式)功能:测试表达式的数据类型,返回大写字母:N(数值)、C(字符)、L(逻辑)、D(日期)、M(备注)
例:
x=1236
y=“hello”
?type(“x”)
N
?type(“y”)
C
9.测试工作区函数:
格式:select()
功能:返回当前工作区的区号
10.测试别名函数:
格式:alias()
功能:测试当前工作区的别名
例:
select 1
use 职工档案 alias zgda
select 2
use 工资情况
?alias()
工资情况 &&打开表时,不指定别名,表名即为别名
select zgda &&通过别名选择工作区
?select()
11.表文件名函数:
格式:dbf()
功能:返回当前工作区打开的表名
例:
use 工资情况
?dbf()
e:myvfp工资情况 六.其它函数:
1.宏替换函数:
格式:&变量名
说明:vfp中只有宏替换函数没有括号.功能是返回指定字符型变量中所存放的字符串.例:为“工资情况”表中每个人加100元工资
gz=“工资”
use 工资情况
replace all &gz with &gz+100
2.条件函数:
格式:iif(表达式,表达式1,表达式2)
功能:若表达式值为真,则返回表达式1的值;否则返回表达式2的值;函数返回值类型与表达式1或表达式2类型一致
a=3
b=5
?iif(a>b,“高兴”,“开心”)
开心
3.消息框函数:
格式:messagebox(提示文本[,对话框类型[,对话框标题文本]])
功能:显示提示对话框
说明:
(1)对话框类型见表1:
对话框类型功能
0仅“确定”按钮
1“确定”和“取消”按钮
2“终止”,“重试”和“忽略”按钮
3“是”,“否”和“取消”按钮
4“是”和“否”按钮
5“重试”和“取消”按钮
16stop图标
32?图标
48!图标
64i图标
0默认第1个按钮
256默认第2个按钮
512默认第3个按钮
(2).返回值见表2:
返回值按钮
1确定
2取消
3终止
4重试
5忽略
6是
7否
例:分析messagebox(“您确实要退出系统吗?”,4+64,“提示信息”)会弹出什么样的窗口.分析:回头观察此函数的格式,弹出的对话框中的提示文本是“您确实要退出系统吗”,对话框标题是“提示信息”,函数中间有“4+64”,其中4指定对话框中出现“是”和“否”两个按钮(见表1),64指定对话框中出现i图标(见表2)
ok,我们在命令窗口依次执行下列命令:
tui=messagebox(“您确实要退出系统吗?”,4+64,“提示信息”)
&&变量tui用于接收messagebox函数的返回值,弹出的窗口如图1
?tui
&&变量tui值取决于运行时用户点了哪个按钮,如果点了“是”,返回6,如果点了“否”,返回7,见表2
说明:实际应用中,我们常在系统菜单或在表单的“退出”按钮中添加如下代码:
tui=messagebox(“您确实要退出系统吗?”,4+64,“提示信息”)
if tui=6 &&如果此条件成立,说明用户点了“是”按钮,执行quit命令,安全退出
quit
endif
第五篇:年整理数据库嵌套查询实验报告
实验三:数据库的嵌套查询实验
实验目的 :
加深对嵌套查询语句的理解。
实验内容:
使用 IN、比较符、ANY 或 ALL 和 EXISTS 操作符进行嵌套查询操作。
实验步骤:
一.使用带 N IN 谓词的子查询
1.查询与’刘晨’在同一个系学习的学生的信息: 比较 select * from student where sdept in
(select sdept from student where sname=“刘晨”)与: select * from student where sdept =
(select sdept from student where sname=“刘晨”)的异同
比较: select * from student where sdept =
(select sdept from student where sname=“刘晨”)and sname <> ‘刘晨’ 与: select S1.* from student S1, student S2 where S1.sdept=S2.sdept and S2.sname=“刘晨”的异同
2.查询选修了课程名为’信息系统’ 的学生的学号和姓名: 比较 select sno, sname from student where sno in(select sno from sc where cno in
(select cno from course where cname=“信息系统”))与: select sno, sname from student where sno in
(select sno from sc, course where sc.cno=course.cno and cname=“信息系统”)
3.查询选修了课程’1’和课程’2’的学生的学号: select sno from student where sno in(select sno from sc where cno=“1”)and sno in(select sno from sc where cno=“2”)
比较: 查询选修了课程’1’或课程’2’的学生的 sno: select sno from sc where cno=“1” or cno=“2”
比较连接查询:
select A.sno from sc A, sc B where A.sno=B.sno and A.cno=“1” and B.cno=“2”
二.使用带比较运算的子查询 4.查询比’刘晨’年龄小的所有学生的信息: select * from student where sage<
(select sage from student where sname=“刘晨”)
三.使用带 Any, All 谓词的子查询 5.查询其他系中比信息系(IS)某一学生年龄小的学生姓名和年龄;select sname, sage from student where sage (select sage from student where sdept=“IS”)and sdept<>“IS” 6.查询其他系中比信息系(IS)学生年龄都小的学生姓名和年龄: select sname, sage from student where sage 7.查询与计算机系(CS)系所有学生的年龄均不同的学生学号, 姓名和年龄: select sno,sname,sage from student where sage<>all(select sage from student where sdept=“CS”) 四.使用带 s Exists 谓词的子查询和相关子查询 8.查询与其他所有学生年龄均不同的学生学号, 姓名和年龄: select sno,sname,sage from student A where not exists(select * from student B where A.sage=B.sage and A.sno<>B.sno) 9.查询所有选修了 1 号课程的学生姓名: select sname from student where exists(select * from sc where sno=student.sno and cno=“1”) 10.查询没有选修了 1 号课程的学生姓名: select sname from student where not exists(select * from sc where sno=student.sno and cno=“1”) 11.查询选修了全部课程的学生姓名: SQL Server 中: select sname from student where not exists(select * from course where not exists(select * from sc where sno=student.sno and cno=course.cno)) 11.查询至少选修了学生 95002 选修的全部课程的学生的学号: SQL Server 中: select distinct sno from sc A where not exists (select * from sc B where sno=“95002”and not exists(select * from sc C where sno=A.sno and cno=B.cno)) 12.求没有人选修的课程号 cno 和 cnamecname: select cno,cname from course C where not exists(select * from sc where sc.cno=C.cno) 13*.查询满足条件的(sno,cno)对, 其中该学号的学生没有选修该课程号 cno的课程 SQL Server 中: select sno,cno from student,course where not exists(select * from sc where cno=course.cno and sno=student.sno) 14*.查询每个学生的课程成绩最高的成绩信息(sno,cno,grade): select * from sc A where grade=(select max(grade)from sc where sno=A.sno) 思考: 如何查询所有学生都选修了的课程的课程号 cno? select cno from sc group by cno having count(*)=(select count(*)from student)