VFP 代码python 获取函数名名缺少 记得代码写完了·和教材里面的一样为什么代码python 获取函数名名缺少 缺哪个代码数字和符号

vfp中函数名缺少)是什么意思_百度知道
vfp中函数名缺少)是什么意思
select 作者姓名,所在城市 from authors,where 作者编号( select 作者编号 from books group by 作者编号 having count (图书编号)&=3 );order by 作者姓名 into table new_view4
把中文括号换成英文括号
采纳率:67%
这主要是标点---逗号的问题用逗号要用英文的&,&不要用中文的逗号&,&
你好好看看都用的英文
为您推荐:
其他类似问题
vfp的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。当前位置: >>
VFP实验教程
第1章1.11.1.1 选择题数据库系统概述基础知识练习1. 存储在计算机内、有结构的相关数据的集合称为______。 A. 数据库 B. 数据库系统 C. 数据库管理系统 D. 数据结构 【答案】A 2. 数据库 DB、数据库系统 DBS 和数据库管理系统 DBMS 之间的关系是________。 A. DBMS 包括 DB 和 DBS B. DBS 包括 DB 和 DBMS C. DB 包括 DBS 和 DBMS D. DB、DBS 和 DBMS 是平等关系 【答案】B 3. ________是处理数据库存取和各种管理控制的软件系统,是数据库系统的中心枢纽。 A. DB B. DBMS C. DBAS D. DML 【答案】B 4. 下列关于数据库系统的叙述中,正确的是________。 A. 数据库系统只是比文件系统管理的数据更多 B. 数据库系统中数据的一致性是指数据类型一致 C. 数据库系统避免了数据冗余 D. 数据库系统减少了数据冗余 【答案】D 5. 能唯一标识实体的是________。 A. 属性 B. 域 C. 码 D. 联系 【答案】C 6. Visual FoxPro 是一种关系数据库管理系统,所谓关系是指________。 A. 表中各条记录彼此之间有一定的关系 B. 表中各个字段彼此之间有一定的关系 C. 一个表与另一个表之间有一定的关系 D. 数据模型符合满足一定条件的二维表格式 【答案】D 7. 如果一个部门有若干职员,每个职员只能属于某一个部门,则部门和职员两个实体之 间的联系属于________。 A. 一对一联系 B. 一对二联系 C. 多对多联系 D. 一对多联系。 【答案】D 第1章数据库系统概述8. 在数据库设计中,将 E-R 图转换为关系模式是在________阶段。 A. 需求分析 B. 概念设计 C. 逻辑设计 D. 物理设计 【答案】C 9. 在关系中将年龄字段的值限制在 15-30 岁之间的这种约束属于________。 A. 实体完整性约束 B. 域完整性约束 C. 参照完整性约束 D. 视图完整性约束 【答案】B 10. 下列叙述中正确的是________。 A. 数据库系统是一个独立的系统,不需要操作系统的支持 B. 数据库技术的根本目标是要解决数据的共享问题 C. 数据库管理系统就是数据库系统 D. 以上三种说法都不对 【答案】B 11. 如果把学生看作实体,某个学生的姓名叫“王刚” ,则“王刚”应看成________。 A. 记录型 B. 记录值 C. 属性型 D. 属性值 【答案】D 12. 在概念模型中,一个实体相对于关系数据库中一个关系中的一个________。 A. 属性 B. 元组 C. 列 D. 字段 【答案】B1.1.2填空题1.存储在计算机中的数据包括________和________两方面。 【答案】数据内容,数据形式 2.数据处理技术大致经历的三个发展阶段是________、_________和________。 【答案】人工管理阶段,文件系统管理阶段,数据库系统管理阶段 3.数据库系统是由________、________、________和_______组成的具有高度组织性的 总体。 【答案】计算机系统,数据库,数据库管理系统,有关人员 4.用实体名及其属性名集合来抽象和刻画同类实体称为_______。 【答案】实体型 5.数据模型不仅表示反映事物本身的数据,而且表示________。 【答案】事物之间的联系 6.用二维表的形式来表示实体之间联系的数据模型叫做________。 【答案】关系模型 7.在关系数据模型中,二维表的列称为________,二维表的行称为________。 【答案】属性,记录 8.对关系进行选择、投影或连接运算之后,运算的结果仍然是一个________。 【答案】关系 3Visual Foxpro 数据库与程序设计基础实验教程9.在关系数据库的基本操作中,从表中选出满足条件的元组的操作称为________;从表 中抽取属性值满足条件的列的操作称为________;把两个关系中相同属性的元组连接在一起 构成新的二维表的操作称为________。 【答案】选择,投影,连接 10.E-R 图中实体间的________联系必须转换为一个独立的关系模式。 【答案】多对多 第2章Visual FoxPro 6.0 基础2.1 基础知识练习2.1.1选择题1. _________是 Visual FoxPro 中专门用来输入各种命令的区域。 A. 主窗口 B. 命令窗口 C. 菜单栏 D. 工具栏 【答案】B 2. “项目管理器”的“数据”选项卡用于显示和管理________。 A. 数据库、自由表和查询 B. 数据库、视图和查询 C. 数据库、自由表、查询和视图 D. 数据库、表单和查询 【答案】C 3. “项目管理器”的“文档”选项卡用于显示和管理________。 A. 表单、报表和查询 B. 数据库、表单和报表 C. 查询、报表和视图 D. 表单、报表和标签 【答案】D 4. 利用 VFP 中的________可以帮助用户高效方便地创建表、表单等文件。 A. 设计器 B. 向导 C. 生成器 D. 工具栏 【答案】A 5. 在以下四组函数运算中,结果相同的是________。 A. LEFT(&Visual FoxPro&,6)与 SUBSTR(&Visual FoxPro&,1,6) B. YEAR(DATE())与 SUBSTR(DTOC(DATE()),7,2) C. VARTYPE(&36-5*4&)与 VARTYPE(36-5*4) D. 假定 A=&this &,B=&is a string&,A-B 与 A+B 【答案】A 6. 在下面的 Visual FoxPro 表达式中,不正确的是________。 A. {^ 10:10:10AM}-10 B. {^}-DATE() C. {^}+DATE() D. [^]+[1000] 【答案】C 7. 在下列函数中,函数值为数值的是________。 A. AT('人民','中华人民共和国') B. CTOD('01/01/96') C. BOF() D. SUBSTR(DTOC(DATE()),7) 【答案】A 8. 已知 D1 和 D2 为日期型变量,下列 4 个表达式中非法的是________。 A. D1-D2 B. D2-36 C. D1+28 D. D1+D2 5Visual Foxpro 数据库与程序设计基础实验教程【答案】D 9. 函数 INT(数值表达式)的功能是________。 A. 按四舍五入取数值表达式值的整数部分 B. 返回数值表达式值的整数部分 C. 返回不大于数值表达式值的最大整数 D. 返回不小于数值表达式值的最小整数 【答案】B 10. 在下面的 Visual FoxPro 表达式中,运算结果是逻辑真的是________。 A. EMPTY(.NULL.) B. LIKE(&ABC&,&AC?&) C. AT(&A&,&123ABC&) D. EMPTY(SPACE(2)) 【答案】D 11. 设 D=5&6,VARTYPE(D)的输出值是________。 A. N B. C C. LD. D【答案】C 12. 设 N=886,M=345,K=&M+N&,表达式 1+&K 的值是________。 A. 1232 B. 数据类型不匹配 C. 1+M+N D. 346 【答案】A 13. 如果 X=10,Y=&X=20&,则 TYPE(&Y&)的值是________。 A. L .N C. C D. 出错 【答案】C 14. 命令?VARTYPE(TIME() )结果是 A. C B. D C. T D. 出错 【答案】A 15. 命令?LEN(SPACE(3)-SPACE(2) )的结果是 A. 1 B. 2 C. 3 D. 5 【答案】D2.1.2填空题1. Visual FoxPro6.0 是________位的关系型数据库管理系统。 【答案】32 2. 在命令窗口中键入命令后,按________键执行该命令。 【答案】Enter 3. 对 Visual FoxPro 进行环境设置除了用 SET 命令外,还可以在________对话框中进行 设置。 【答案】选项 4. VFP 的三种工作方式是________、________和________工作方式。 【答案】菜单,命令,程序 5. VFP 命令的续行符是________。 【答案】 ; 第2章Visual FoxPro 6.0 基础6. 在 Visual FoxPro 中,项目文件的扩展名是________。 【答案】PJX 7. 扩展名为.Prg 的程序文件在“项目管理器”的________选项卡中显示和管理。 【答案】代码 8. 项目管理器的“移去”按钮有两个功能:一是把文件________,二是________文件。 【答案】从项目管理器中移去,从磁盘上删除 9. 如果一个表达式中包含算术运算、关系运算、逻辑运算和函数时,则运算的优先次序 是________。 【答案】函数&算术运算&关系运算&逻辑运算, 10. TYPE(&10/25/08&)的输出值是________。 【答案】N 11. 设工资=1200,职称=&教授&,下列逻辑表达式的值是________。 工资&1000 AND (职称=&教授& OR 职称=&副教授&) 【答案】.T. 12. ROUND(337.2007,3)的结果是________。 【答案】337.201 13. LEN(&THIS IS MY BOOK&)的结果是________。 【答案】15 14. TIME()返回值的数据类型是________。 【答案】字符型 15. MOD(9,-2)的返回值为______。 【答案】-12.22.2.1上机实验VFP6.0 的启动、退出及工作环境配置【实验题目】VFP 的启动、退出及工作环境配置 【实验目的】掌握 VFP 的启动、退出方法及工作环境的设置 【实验示例】1.启动 VFP6.0 方法一:在“开始”菜单中启动 Visual FoxPro 6.0。 单击 Windows 桌面左下方的“开始”按钮,调出“开始”菜单→选“所有程序”→在“程 序” 级联菜单中选带狐狸头图标的 “Microsoft Visual FoxPro 6.0” 选项, 即可启动 Visual FoxPro 6.0(图 2-1) 。 7Visual Foxpro 数据库与程序设计基础实验教程图 2-1利用“开始”菜单启动 VFP6.0方法二:利用桌面上的快捷方式启动 Visual FoxPro 6.0。 若桌面上没有 VFP6.0 的快捷方式,就要先创建一个,方法是:单击 Windows 桌面左下 方的“开始”按钮,调出“开始”菜单→选“所有程序”→在“程序”级联菜单中右击带狐 狸头图标的“Microsoft Visual FoxPro 6.0”选项→选择“发送到” ,在弹出的级联菜单中选择 “桌面快捷方式” (图 2-2(a),这样就能在桌面上看到 VFP 狐狸头快捷方式图标(图 2-2 ) (b),然后双击此图标即可启动 Visual FoxPro 6.0(图 2-3) ) 。 若桌面上已经有了 VFP6.0 的快捷方式图标,直接双击此图标即可。(a) 图 2-2 创建并利用快捷方式启动 VFP6.0(b) 第2章Visual FoxPro 6.0 基础图 2-3VFP 窗口2.设置默认目录及日期时间格式 (1)设置用户默认工作目录 在 VFP 的菜单中选“工具”→选“选项” ,弹出“选项对话框” (图 2-4(a) )→选“文 件位置” 选项卡→选 “默认目录” ,单击“修改” 按钮→在弹出的“更改文件位置”对话框 (图 2-4(b) )中先要选中“使用默认目录”前的复选框,再在上面的文本框中输入用户的默认工 作目录,或是单击文本框右侧的带三个点的选项按钮选择目录,然后单击“确认”按钮返回 选项对话框(图 2-4(c) )→单击“设置为默认值”按钮→单击“确认”按钮,设置成功。图 2-4 (a)图 2-4 (b) 9Visual Foxpro 数据库与程序设计基础实验教程图 2-4 (c) 图 2-4 设置默认工作目录提示:每次上机做的第一件事就是要设置好自己的默认工作目录,这样你在 VFP 中创建 的所有文件都会保存在这个目录里,便于管理自己的文件,也不会出现找不到文件的错误。 (2)设置日期和时间格式 在 VFP 的菜单中选“工具”→选“选项” ,弹出“选项对话框”→选“区域”选项卡(图 2-5)→在“日期和时间”区定义日期格式、日期分隔符、年份格式、时间格式(在右边能随 时看到你设置的日期时间格式示例)→单击“设置为默认值”按钮→单击“确认”按钮,设 置成功。图 2-5设置日期和时间格式3.退出 VFP 第2章Visual FoxPro 6.0 基础方法一:命令方式退出 Visual FoxPro 6.0。 在 VFP 的命令窗口输入命令 QUIT,按“Enter”键执行即可(图 2-6) 。图 2-6命令方式退出 VFP方法二:菜单方式退出 Visual FoxPro 6.0。 在 VFP 的菜单中选“文件”→选“退出”(图 2-7) 。图 2-7菜单方式退出 VFP方法三:单击 VFP 主窗口左上方的狐狸头控制图标,从弹出的下拉菜单中选择“关闭” , 或按 Alt+F4 组合键。 (图 2-8) 11Visual Foxpro 数据库与程序设计基础实验教程图 2-8控制图标方式退出 VFP方法四:用鼠标单击 VFP 系统窗口右上角的“×”关闭窗口图标【实验内容】在 D 盘根目录下创建以自己名字命名的文件夹,并在其中建立“销售管理”子文件夹, 设其为 VFP6.0 的默认目录。【实验报告】记录操作步骤。2.2.2项目文件的创建与使用【实验题目】VFP 项目文件的创建及其使用方法 【实验目的】掌握 VFP 项目的创建及其操作【实验示例】1.创建一个项目文件 方法一:在 VFP 的菜单中选“文件”→选“新建”→选“项目”选项→单击“新建文件” 按钮,在弹出的“创建”对话框中输入项目文件名(如:人事管理.PJX) ,单击“保存”按钮 弹出“项目管理器”窗口(图 2-9) 。图 2-9项目管理器窗口 第2章Visual FoxPro 6.0 基础方法二:在命令窗口中直接输入命令“CREATE PROJECT 学生管理” ,就可建立一个 名为“学生管理”的新项目(图 2-10) 。图 2-10用命令创建项目文件2.项目窗口的操作 (1)项目管理器窗口的移动: 同 Windows 窗口操作一样,拖动窗口最上方蓝色的标题栏可移动窗口位置。 若拖动窗口标题栏到 VFP 工具栏下方,可将项目管理器窗口放到 VFP 工具栏上(图 2-11) ,此时可单击每一个选项卡的标题部分打开相应的选项卡;若想恢复,可用鼠标按住边 缘非选项卡标题部分将项目管理器窗口拖到 VFP 窗口。图 2-11移动后的项目管理器(2)项目管理器窗口的折叠与恢复: 单击项目管理器窗口 (图 2-12 a) 右上角的上箭头可折叠项目管理器窗口 ( ) (图 2-12 b); ( ) 单击项目管理器窗口(图 2-12(b) )右上角的下箭头可恢复项目管理器窗口。 13Visual Foxpro 数据库与程序设计基础实验教程(a) 图 2-12 展开与折叠后的项目管理器(b)(3)项目中各类文件的折叠与展开: 单击项目管理器窗口某类文件图标左侧的“+”可展开该类文件(图 2-13) ;单击项目管 理器窗口某类文件图标左侧的“-”可折叠该类文件。图 2-13展开与折叠各类文件(4)项目中各类文件的建立、添加和移去: 在项目管理器窗口中单击某类文件图标(如:数据)→单击右边“新建(N)…”按钮将建 立该类文件;在项目管理器窗口中单击某类文件图标(如:数据)→单击“添加(A)…”按钮 将向该项目中添加该类已有的某文件;在项目管理器窗口中单击某文件图标(如:XS)→单 击“移去(V)…”按钮,该文件将被移出该项目。 (图 2-14) 第2章Visual FoxPro 6.0 基础图 2-14项目管理器中各种功能按钮的使用3.项目文件的关闭与打开 (1)项目文件的关闭。 在 VFP 的菜单中选“文件”→选“关闭” ,或者单击项目管理器窗口右方上的关闭按钮。 (图 2-15)图 2-15关闭项目管理器(2)项目文件的打开。 在 VFP 的菜单中选“文件”→选“打开”→在弹出的“打开”对话框中选中项目文件名 (如:学生管理.PJX) ,单击“确定”按钮(图 2-16) ,就会弹出项目管理器窗口。 15Visual Foxpro 数据库与程序设计基础实验教程图 2-16打开项目管理器【实验内容】在 VFP6.0 默认目录下,建立名为“销售管理项目”的项目文件。【实验报告】在实验报告中记录操作步骤。2.2.3常量、变量、表达式、函数的操作【实验题目】VFP 常量、变量、表达式与常用函数的使用 【实验目的】熟练掌握 VFP 中常量、变量与各种函数的使用格式,熟练掌握表达式中各种运算的规则 及运算顺序。【实验示例】1.常量与变量的使用 (1) 定义变量 A、 C、 B、 name、 birthday, sex、 其值分别为 6、 10、 10、 ”李平”.T.、 {^}; (图 2-17)图 2-17变量赋值 第2章Visual FoxPro 6.0 基础注意: ①VFP 命令中的标点符号均要在英文和半角状态下输入。 ②注意给多个变量赋相同值的书写格式,想想还可以用什么方法对变量 B 和 C 赋值。 ③给逻辑型变量赋值时,两边的圆点不能漏掉。 ④无论在严格或传统的日期格式下,均可以使用严格的日期型常量。想一想在传统的日 期格式下,还可以用什么样的日期格式对变量 birthday 赋值? (2)在命令窗口用“?”命令显示上述变量的值; (图 2-18)图 2-18显示变量的值(3)在命令窗口用 LIST MEMORY 或 DISPLAY MEMORY 命令查看上述变量的值和类 型; (图 2-19)图 2-19查看变量的值试一试:如果将 list memory like * 中的 like *去掉,即只输入 list memory 观察看 输出什么结果,为什么? (4)在命令窗口用 RELEASE MEMORY 命令清除指定变量 A、B、C; (图 2-20)清除 后显示一下变量看是否清除了。 17Visual Foxpro 数据库与程序设计基础实验教程图 2-20变量的清除(5)在命令窗口用 CLEAR MEMORY 命令清除所有用户定义的变量。 (图 2-21)图 2-21所有用户定义变量的清除2.数组的定义与使用 (1)定义 3 行 2 列的数组 A 并为整个数组 A 赋初值 0; (图 2-22)图 2-22数组的定义想一想:还可以用什么命令定义数组? 第2章Visual FoxPro 6.0 基础(2)为各数组元素分别赋值 &李平&、20、&王强&、21、&张玲&、20 并显示数组元素各 值; (图 2-23)图 2-23数组元素的赋值试一试:显示 A(5)的值,看它与哪个数组元素的值相同,为什么? (3)查看整个数组 A 的值和类型。 (图 2-24)图 2-24查看数组的值与类型3.常用函数的使用 (1)在命令窗口逐个输入图 2-25 中的命令,每个命令以回车为结束,在 VFP 主窗口中 查看各函数的结果。 19Visual Foxpro 数据库与程序设计基础实验教程图 2-25数值函数练习(2)在命令窗口逐个输入图 2-26 中的命令,每个命令以回车为结束,在 VFP 主窗口中 查看各函数的结果。图 2-26字符函数练习(3)在命令窗口逐个输入图 2-27 中的命令,每个命令以回车为结束,在 VFP 主窗口中 查看各函数的结果。图 2-27日期函数练习(4)在命令窗口逐个输入图 2-28 中的命令,每个命令以回车为结束,在 VFP 主窗口中 第2章Visual FoxPro 6.0 基础查看各函数的结果。图 2-28转换函数练习注意:在 CTOD(“2/14/2008”)函数中,字符型的参数必须和本机 VFP 系统设置的日期时 间格式相一致,否则转换不成功,为空的日期。 (5)在命令窗口逐个输入图 2-29 中的命令,每个命令以回车为结束,在 VFP 主窗口中 查看各函数的结果。图 2-29测试函数练习4.表达式的使用 在命令窗口逐个输入图 2-30 中的命令,每个命令以回车为结束,在 VFP 主窗口中查看 各表达的结果。 21Visual Foxpro 数据库与程序设计基础实验教程图 2-30表达式练习【实验内容】表 2-1 常量、变量、函数与表达式的使用 命令执行结果 命令功能 在命令窗口中输入命令并执行 ? 2*3^3+2*8/4%5-2^3 ? &abc& -'abc'+&abc& ? INT(-3.1415926),INT(ABS(99-100)/2) ? ROUND(-3.) ? AT(&fox&,&foxpro&) ? NOT(3&5 .AND. 5&3 .OR. MOD(3,5)&2) ? INT(10.512)&10 .AND. SQRT(10)&3 STORE 4*3-7 TO m, n, k ?&L=& , 2*PI()*m ?&S=& , PI()*m*m DIMENSION a(5),b(2,4) DISPLAY MEMORY a(2)=10 a(4)=&山东& b(2,1)=5 DISPLAY MEMORY CLEAR MEMORY DISPLAY MEMORY stitle=[Visual FoxPro 程序设计] ? LEN(stitle) ? RIGHT(stitle,4) ? SUBSTR(stitle,15,4)+LEFT(stitle,13) ? STR(,1) 第2章 ? STR(,2) ? STR() ? {^}&DATE() ? DATE()-{^} ? DATE()-100 ? SUBSTR(DTOC(DATE()),7) ? MONTH({^}-40)Visual FoxPro 6.0 基础【实验报告】记录表 2-1 中的实验结果,与手工计算结果相比较,若有错误,请找出出错原因。2.2.4常见错误1. 找不到变量’A,B’。 出错原因:变量名写错;表达式中使用了未定义的变量;两变量名之间使用中文逗号分 隔;命令中的短语之间缺少空格,如 CLEAR MEMORY LIKE *写成 CLEAR MEMORYLIKE *。 2. 不能识别的命令谓词。 出错原因:命令字写错,如 CLEAR MEMORY 写成 CLEAN MEMORY;在中文状态下 输入命令。 3. 命令中含有不能识别的短语或关键字。 出错原因: 命令中短语部分的保留字拼错, CLEAR MEMORY 写成 CLEAR MOMERY; 如 表达式中使用了中文括号,如:G=50*1.2+(T-50)*2.4 写成 G=50*1.2+(T-50)*2.4。 4. 操作符/操作数类型不匹配。 出错原因:表达式中参加运算的变量的类型不一致,如?BirthDay&&^&,发生 该错是因为 BirthDay 是日期型,而&^&是字符型。 5. 函数参数的值、类型或数目无效。 出错原因:类型不符合要求,如 SUBS(&)写成 SUBS();参数值不符合 要求,如 HOUR(DATETIME())写成 HOUR(TIME())。 6. 参数太多。 出错原因:参数个数多于规定的个数,如 SQRT(25.5)写成 SQRT(25,5)。 7. 参数太少。 出错原因:参数个数少于规定的个数,如 MAX(10,20)写成 MAX(10.25)。 8. 文件&xxx&不存在。 出错原因:函数名拼错,如 SUBS(&)写成 SUB(&)。 9. 命令中含有不能识别的短语或关键字。 出错原因:函数嵌套时括号不匹配,通常多右括号。如 YEAR(DATE()))。 10. 日期/日期时间计算为无效值。 出错原因:日期常量格式错。如{^}写成{^10/01/1980}。 11. 不明确的日期/日期时间常量。 出错原因:日期常量格式错。如 DTOC({^})写成 DTOC({^})。 第3章数据库与表的基本操作3.1 基础知识练习3.1.1 选择题1. 不允许记录中出现重复索引值的索引是________。 A. 主索引 B. 主索引、候选索引、普通索引 C. 主索引和候选索引 D. 主索引、候选索引和惟一索引 【答案】C 2. 要控制两个表中数据的完整性和一致性可以设置“参照完整性” ,要求这两个表 ________。 A. 是同一个数据库中的两个表 B. 不同数据库中的两个表 C. 两个自由表 D. 一个是数据库表另一个是自由表 【答案】A 3. 在 Visual FoxPro 中,可以对字段设置默认值的表________。 A. 必须是数据库表 B. 必须是自由表 C. 可以是自由表或数据库表 D. 可以是自由表和数据库表 【答案】A 4. 在 Visual FoxPro 中,打开数据库的命令是________。 A. OPEN &数据库名& B. OPEN DATABASE &数据库名& C. USE &数据库名& D. USE DATABASE &数据库名& 【答案】B 5. 在 Visual FoxPro 的数据工作期窗口,使用 SET RELATION 命令可以建立两个表之间 的关联,这种关联是________。 A. 永久性关联 B. 永久性关联或临时性关联 C. 临时性关联 D. 永久性关联和临时性关联 【答案】C 6. 在 Visual FoxPro 中,通用型字段 C 和备注型字段 M 在表中的宽度都是________。 A. 2 个字节 B. 4 个字节 C. 8 个字节 D. 10 个字节 【答案】B 7. 可以伴随着表的打开而自动打开的索引文件是________。 A. 单一索引文件(IDX) B. 结构化复合索引文件 C. 复合索引文件(CDX) D. 非结构化复合索引文件 【答案】B 8. Visual FoxPro 参照完整性规则不包括________。 第3章数据库与表的基本操作A. 更新规则 B. 查询规则 C. 删除规则 D. 插入规则 【答案】B 9. 在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的________。 A. “一方”表的主索引或候选索引, “多方”表的普通索引 B. “一方”表的主索引, “多方”表的普通索引或候选索引 C. “一方”表的普通索引, “多方”表的主索引或候选索引 D. “一方”表的普通索引, “多方”表的候选索引或普通索引 【答案】A 10. 不论索引是否生效,不能定位到相同记录上的命令是________。 A. GO TOP B. GO BOTTOM C. GO 6 D. SKIP 【答案】D 11. 要为当前表中所有职工增加 100 元工资应该使用命令________。 A. CHANGE 工资 WITH 工资+100 B. REPLACE 工资 WITH 工资+100 C. CHANGE ALL 工资 WITH 工资+100 D. REPLACE ALL 工资 WITH 工资+100 【答案】D 12. 当前已打开的学生表中有姓名、性别、出生日期等字段,要显示所有 1985 年出生的 学生名单,应使用的命令是________。 A. LIST 姓名 FOR 出生日期=1985 B. LIST 姓名 FOR 出生日期=&1985& C. LIST 姓名 FOR YEAR(出生日期)=1985 D. LIST 姓名 FOR YEAR(&出生日期&)=1985 【答案】C 13. 在 VFP 环境下,用 LIST STRUCTURE 命令显示表中每个记录的长度(总计)为 60, 用户实际可用字段的总宽度为________。 A. 58 B. 59 C. 60 D. 61 【答案】B 14. 如果需要给当前表增加一个字段,应使用的命令是________。 A. APPEND B. MODIFY STRUCTURE C. INSERT D. EDIT 【答案】B 15. 执行 SET EXACT OFF 命令后,再执行 ? &山东省&=&山东&命令的结果是________。 A. .T. B. .F. C. 0 D. 非 0 【答案】A 16. 已知当前表中有 60 条记录,当前记录为第 6 条记录。如果执行命令 SKIP 3 后,则 当前记录为第________条记录。 A. 3 B. 4 C. 8 D. 9 【答案】D 17. 使用 REPLACE 命令时,如果范围短语为 ALL 或 REST,则执行该命令后记录指针 25Visual Foxpro 数据库与程序设计基础实验教程指向________。 A. 末记录 B. 首记录 C. 末记录的后面 D. 首记录的前面 【答案】C 18. 当前表中有 4 个数值型字段:数学、英语、计算机和总分。其中数学、英语、计算 机的成绩均已录入,总分字段为空。要将所有学生的总分自动计算出来并填入总分字段中, 使用命令________。 A. REPLACE 总分 WITH 高等数学+英语+计算机网络 B. REPLACE 总分 WITH 高等数学,英语,计算机网络 C. REPLACE 总分 WITH 高等数学+英语+计算机网络 ALL D. REPLACE 总分 WITH 高等数学+英语+计算机网络 FOR ALL 【答案】C 19. 在当前表中,查找第 2 个女同学的记录,应使用命令________。 A. LOCATE FOR 性别=&女& B. LOCATE FOR 性别=&女& NEXT 2 C. LOCATE FOR 性别=&女& CONTINUE D. LIST FOR 性别=&女& NEXT 2 【答案】C 20. 当前工资表中有 108 条记录,当前记录号为 8,用 SUM 命令计算工资总和时,若缺 省范围短语,则系统将________。 A. 只计算当前记录的工资值 B. 计算前 8 条记录的工资和 C. 计算后 8 条记录的工资和 D. 计算全部记录的工资和 【答案】D 21. 在 VFP 中,使用 AVERAGE 命令时,表文件需要________。 A. 排序 B. 建立索引 C. 排序或建立索引 D. 以上操作都不需要 【答案】D 22. 执行 SELECT 0 选择工作区的结果是________。 A. 选择了 0 号工作区 B. 选择了空闲的最小号工作区 C. 选择了一个空闲的工作区 D. 显示出错信息 【答案】B 23. RSGZ 数据表文件按基本工资字段升序索引后, 再执 GO TOP 命令, 此时当前记录号 是________。 A. 1 B. 基本工资最少的记录号 C. 0 D. 基本工资最多的记录号 【答案】B 24. 数据库文件有 30 条记录,当前记录号为 20,执行命令 LIST NEXT 5 后,所显示的 记录号是________。 A.21~25 B.21~26 C.20~25 D.20~24 第3章数据库与表的基本操作【答案】D 25. 数据库文件默认的扩展名是________。 A. .dbf B. .dbc C. .dbt D. .fpt 【答案】B 26. 与“DISPLAY NEXT 1”等价的命令是________。 A. LIST ALL B. LIST C. DISPLAY D. DISPLAY ALL 【答案】C 27. 如果某数据表为空表,则打开该表后________。 A. BOF()和 EOF()均为.T. B. BOF()和 EOF()均为.F. C. BOF()=.T. EOF()=.F. D. BOF()=.F. EOF()=.T. 【答案】A 28. 使用 RECALL ALL 命令________。 A. 将恢复所有被物理删除的记录 B.只能恢复被逻辑删除的当前记录 C. 将恢复所有被逻辑删除的记录 D.只能恢复被物理删除的当前记录 【答案】C 29. 在 Visual FoxPro 中进行参照完整性设置时,要想设置成:当更改父表中的主关键字 段或候选关键字段时,自动更改所有相关子表记录中的对应值。应选择________。 A. 限制(Restrict) B. 忽略(Ignore) C. 级联(Cascade) D. 级联(Cascade)或限制(Restrict) 【答案】C 30. 数据库表移出数据库后,仍然有效的是________。 A. 字段的有效性规则 B. 表的有效性规则 C. 字段的默认值 D. 结构复合索引 【答案】D3.1.2 填空题1. LIST 和 DISPLAY 命令的区别在于,前者???????????,后者???????????。 【答案】LIST 连续不分屏显示信息;DISPLAY 采用分屏显示信息。 2. 在数据表结构设计时, 字段宽度的总计数目比???????????之和大 1, 这是因为系统保 留了 1 个字节的宽度记用于???????????。 【答案】各字段宽度;存放逻辑删除标 3. 所谓当前表是指???????????。 【答案】已经打开并且正在使用的数据表 4. 设当前记录为第 3 条记录(没有打开任何索引文件) ,执行 SKIP 2 后,记录指针指向 ???????????记录, 连续执行 GO BOTTOM 和 SKIP 两条命令后, 记录指针执向???????????。 【答案】第 5 条记录;最后一条记录后面(此时 EOF()函数的值为.T.) 5. ???????????命令原来做逻辑删除,???????????命令用来做物理删除。 【答案】DELETE ; PACK 6. 索引文件分为???????????和复合索引文件,复合索引文件又分为???????????和 ???????????。 27Visual Foxpro 数据库与程序设计基础实验教程【答案】单入口索引文件;结构化复合索引文件;非结构化(独立)复合索引文件 7. Visual FoxPro 将表分为两种,即???????????和???????????。 【答案】自由表,数据表 8. 汇总命令 TOTAL 的功能是分别对关键字相同的记录的数值型字段求和,并将结果存 储在一个???????????中。 【答案】新数据表 9. 如果某记录的备注型字段标志显示为???????????,则表明该字段不再为空。 【答案】Memo 10. 字段“定价”为数值型,如果整数部分最多为 3 位、小数部分为 2 位,那么该字段 的宽度至少应为???????????。 【答案】6 位 11. 顺序查询对表的记录没有任何要求,但查找速度较慢;而索引查询要求表的记录是 ???????????的,查找速度较快。 【答案】按索引顺序排列 12. 当前表为图书表,其中字段“分类号”为字符型,要将分类号以字母“I”开头的记 录作删除标记,可使用命令???????????。 【答案】DELETE FOR SUBSTR(分类号,1,1)=”I” 13. 物理删除当前表第 8 条到第 15 条记录的命令序列是???????????。 【答案】GO 8 DELETE NEXT 8 PACK 14. 结构复合索引文件的主名与???????????相同,它随表的打开而打开,在增删记录时 会自动维护,因而使用最方便。 【答案】数据表名 15. 数据库表有 4 种索引类型,即???????????、普通索引、惟一索引和候选索引。 【答案】主索引 16. RSDA.DBF 表中 “婚否” 字段为逻辑型, 则显示所有已婚记录的命令为???????????。 【答案】LIST FOR 婚否=.T. 17. 永久关系建立后存储在???????????中,只要不作删除或变更就一直保存。 【答案】数据库 18. 利用 LOCATE 命令查找到满足条件的第 1 条记录后,连续执行???????????命令即 可找到满足条件的其他记录。 【答案】CONTINUE 19. 对数据库表添加新记录时,系统自动地为某一字段给定一个初始值,这个值称为该 字段的_____。 【答案】默认值 20. 自由表的扩展名是_____。 【答案】DBF 第3章数据库与表的基本操作3.23.2.1 数据库及表基本操作【实验题目】数据库及表的基本操作 【实验目的】上机实验(1)熟练掌握数据库及数据表的建立,数据表结构的修改等操作。 (2)熟练掌握数据表记录的追加、显示、修改、查询和删除。【实验示例】在“学生管理”项目中设计一个名为 Xsgl.dbc 的学生管理数据库,该数据库中含有 4 个 数据表,它们是 xsda.dbf、xscj.dbf、xsxk.dbf、pkqk.dbf 数据表(表结构参见教材第三章课后 题) 。 1. 数据库的建立 建立一个数据库有许多方法,可以使用命令方式建立数据库,也可以使用系统菜单。 (1)使用命令方式建立数据库 步骤 1:在命令窗口中输入命令: Creat Database xsgl 则在你的硬盘上将可生成一个名为 xsgl.dbc 的文件。 步骤 2:在命令窗口输入命令: Dir *.dbc 则在系统窗口将可以显示出所有扩展名为.dbc 的文件,包括我们新建的数据库 xsgl.dbc。 (2)使用系统菜单建立数据库 步骤 1:单击菜单的“文件”选项,然后选择“新建” ,将打开“新建”窗口(见图 3-1) 。图 3-1新建数据库图 3-2创建窗口步骤 2:在“文件类型”列,选择“数据库” ,然后单击【新建文件】按钮,将打开“创 建”对话框。见图 3-2。 在“数据库名”对话框中,输入新建数据库的文件名,例如,输入“xsgl”作为该新建 数据库的文件名,然后单击【保存】命令按钮,即可打开“数据库设计器”窗口,利用“数 据库设计” ,就可以创建一个名为“xsgl.doc”的数据库。 2. 数据库的打开与关闭 29Visual Foxpro 数据库与程序设计基础实验教程当数据库建好后,要对数据库操作,例如,要往数据库中添加数据表等,必须先打开相 应的数据库。 (1)使用命令方式打开与关闭数据库 步骤 1:在命令窗口输入命令: OPEN DATABASES xsgl 即可打开我们刚刚建立的名字为“xsgl.doc”的数据库。 步骤 2:在命令窗口输入命令: CLOSE DATABASES 或: CLOSE ALL 即可关闭所打开的数据库 (2)使用菜单方式打开或关闭数据库 步骤 1:单击系统菜单“文件”菜单,然后选择“打开”菜单项,将打开“打开”对话 框,见图 3-3。图 3-3打开数据库在“文件类型(T) ”中选择“数据库(*.dbc) ”选项,选择要打开的数据库文件名或在 “文件名(N) ”对话框中输入要打开的数据库文件名,即可打开“数据库设计器” 。 步骤 2:关闭数据库 单击系统菜单“文件”菜单,然后选择“关闭”菜单项,即可关闭“数据库设计器” 3. 数据表的建立和维护 步骤 1:建立表结构 建立 xsda.dbf、xscj.dbf、xsxk.dbf、pkqk.dbf 数据表。 首先,在命令窗口输入: CREATE xsda 将打开表“表设计器” ,见图 3-4。 第3章数据库与表的基本操作图 3-4表设计器字段输入完毕后,按 Ctrl+W 键,将保存表结构,此时,将出现图 3-5 所示对话框:图 3-5确认对话框选择“否(N),将结束 CREAT 命令。 ” 步骤 2:显示表结构 在命令窗口输入: LIST STRUCTURE 将显示刚建立的数据表的结构,对照表 3-1,仔细观察,是否正确。 步骤 3:修改表结构 如果发现错误,使用“MODIFY STRUCTURE “命令,可以修改表结构 在命令窗口输入: MODIFY STRUCTURE 将打开“表设计器“,利用“表设计器“可以对表结构进行修改,例如,单击【插入】 按钮,可以插入一个新的字段,单击【删除】按钮,可以删除一个字段。 请将姓名的宽度改为 10,出生年月的字段名改为出生日期。 修改完毕,按 Ctrl+W 键,将保存表结构,此时,将出现图 3-6 所示对话框:图 3-6更改结构确认对话框单击【是(Y) 】命令按钮,保存表结构。 注意,表结构的显示和修改可以多次交替使用,直至可以熟练掌握表结构的修改和表结 构的显示。 31Visual Foxpro 数据库与程序设计基础实验教程4. 数据表的基本操作 (1)录入记录: 步骤 1:打开“xsda”表,在命令窗口输入: USE 学生基本信息 步骤 2:在命令窗口输入: APPEND 按表 3-2 录入 6 条记录。 表 3-2 xsda 记录学号 387 202 192 姓名 张小岩 李瑾 周姗姗 王小虎 胡二箫 李春天 性别 女 女 女 男 男 男 出生日期 08/27/74 03/12/72 06/19/69 07/09/76 08/27/62 11/24/75 专业 汉族 汉族 壮族 回族 汉族 京族 特长 否 是 是 否 是 是 备注 Memo Memo Memo Memo Memo Memo 照片 gen Gen gen gen Gen gen录入完毕后,按 Ctrl+W,存盘退出。 (2)显示记录 在命令窗口输入: LIST 或 DISPLAY ALL 将显示刚才录入的所有记录。仔细观察,是否有误。 (3)修改编辑记录 在命令窗口输入: EDIT 或 BROWSE 修改记录,将“张小岩”的出生日期改为{^08/27/75},将“李春天”的民族改为汉族。 (4)删除记录 将第一条记录和最后一条记录删除。 步骤 1:在命令窗口输入: GO TOP 步骤 2:在命令窗口输入: DELETE 步骤 3:在命令窗口输入: GO BOTTOM 步骤 4:在命令窗口输入: DELETE 步骤 5:在命令窗口输入: PACK 步骤 6:在命令窗口输入: LIST 或 DISPLAY ALL 第3章数据库与表的基本操作查看是否删除成功。 (5)记录的替换 计算 xscj 数据表中每名同学的总分,并填到“总成绩”字段中。 步骤 1:在命令窗口输入: REPLACE ALL 总成绩 WITH 计算机+英语+数学 步骤 2:在命令窗口输入: LIST 或 DISPLAY ALL 查看替换结果。【实验内容】1. 在“销售管理项目”中建立“销售管理”数据库。 2. 依次建立客户信息表、产品信息表、合同台账表、出入库台账表四个数据表(索引留 待实验 3.2.2 中建立) ,相关说明如表 3-3 到表 3-6 所示。 为了减少复杂性,作以下假设:一个客户可以签订多份合同,一份合同只能订购一种产 品,只有库存足够才能出库,一份出入库单据只能记录一种产品的出入库信息。出入库时, 明细存放在“出入库台账表”中,同时要实时修改“产品信息表”表中的库存。 3. 输入记录(自行设定) 。表 3-3 字段名称 客户编号 客户名称 地址 代表人 电话 传真 开户银行 账号 邮编 Email 字段类型 C C C C C C C C C C 长度 10 50 50 10 20 20 50 20 6 20 表 3-4 字段名称 产品编号 产品名称 单位 规格 库存 单价 字段类型 C C C C N N 长度 10 20 10 20 8 8 2 2 表 3-5 字段名称 字段类型 长度 合同台账表 是否主键 是否允许空值 说明 产品信息表 是否主键 是 是否允许空值 否 否 否 否 否 否 说明 否 客户信息表 是否主键 是 是否允许空值 否 否 说明 小数位数小数位数小数位数 33 合同编号 客户编号 签订时间 交货时间 交货地点 运输方式 运费承担 已付金额 付款时间 产品编号 数量 单价 C C D D C C C Y T C N NVisual Foxpro 数据库与程序设计基础实验教程 12 10 是 否 否 否 外键20 20 2010 8 8 2 2否 否 否外键签合同时执行 的单价折扣 已交付数量N N3 81 2 表 3-6 出入库台账表 是否主键否默认为 1字段名称字段类型长度小数 位数是否允许空值说明单据号C10是否可根据时间自动生 成产品编号 合同编号 数量 出入库时间 出入库标志C C N T C10 10 8 8 4 2否 是 否 否 否外键 出库时填写填写 “出库” “入 或 库”【实验报告】记录实验内容中的操作步骤,并记下易犯的错误。3.2.2排序与索引【实验题目】表的排序与索引 【实验目的】(1)掌握排序的一般方法。 (2)掌握索引的建立和使用。 (3)掌握快速查找的一般方法。【实验示例】本例使用 xsgl 数据库。 1.按总成绩排序 步骤 1:打开“xscj”表,在命令窗口输入: 第3章数据库与表的基本操作USE xscj 步骤 2:在命令窗口输入: SORT ON 总成绩 TO zcjpx 步骤 3:打开 zcjpx.dbf 表,在命令窗口输入: USE FZF 步骤 4:显示排序后的结果,在命令窗口输入: LIST 或 DISPLAY ALL 步骤 5:关闭数据表,在命令窗口输入: USE 2.按编号建立索引 步骤 1:打开“xsda”表,在命令窗口输入: USE xsda 步骤 2:按编号建立索引,在命令窗口输入: INDEX ON 学号 TO _xuehao 步骤 3:显示按编号索引后的结果,在命令窗口输入: LIST 或 DISPLAY ALL 3.快速查找 步骤 1:在命令窗口输入: SEEK &120247& 步骤 2:在命令窗口输入: DISPLAY【实验内容】1. 按照 3.2.1 实验内容中的规定建立索引。 2. 按照时间先后顺序查看出入库台账。【实验报告】完成实验内容中的任务,并记录操作步骤和命令。3.2.3数据的统计和汇总【实验题目】数据的统计和汇总 【实验目的】掌握数据统计、汇总命令的使用方法【实验示例】本例使用 xsgl 数据库。 1.分别求三门课程的总分 步骤 1:打开“xscj”表,在命令窗口输入: USE xscj 步骤 2:求各门课程成绩总和,在命令窗口输入: SUM 计算机, 英语, 数学 步骤 3:在命令窗口输入: 35Visual Foxpro 数据库与程序设计基础实验教程SUM 计算机, 英语, 数学 TO X, Y, Z 步骤 4:在命令窗口输入: ? X, Y, Z 比较两者之间的区别。 2.分别求三门课程的平均成绩 步骤 1:打开“xscj”表,在命令窗口输入: USE xscj 步骤 2:求各门课程成绩的平均值,在命令窗口输入: AVERAGE 计算机, 英语, 数学 步骤 3:在命令窗口输入: AVERAGE 计算机, 英语, 数学成绩 TO A, B, C 步骤 4:在命令窗口输入: ? A, B, C 比较两者之间的区别。 3.统计男生人数: 步骤 1:打开“xsda”表,在命令窗口输入: USE xsda 步骤 2:在命令窗口输入: COUNT FOR 性别=”男”【实验内容】在“销售管理项目”中,完成以下操作: (1)统计某一客户在某段时间内购买某种产品的总量。 (2)统计某段时间合同金额(数量*单价*折扣)超过 2 万的合同数量。 (3)统计某段时间内各种商品被定购的总量。【实验报告】记录实验内容中的操作步骤和命令。3.3.4多数据表的操作【实验题目】多数据表的操作 【实验目的】熟练掌握命令方式和菜单方式下多个数据表的打开、使用、关联和关闭。【实验示例】学生管理项目中的 xsgl 数据库已建好,内含 Xsda、Xscj、Xsxk、Pkqk 四个数据表。数 据表 Xsda.dbf 按学号升序建立索引,其标记名为 XH;数据表 Pkqk.dbf 按课程代号升序建立 索引,其标记名为 KC。 【例 1】分别在不同的数据区打开 Xsda、Xscj、Xsxk、Pkqk 四个数据表。 【操作步骤】 (1)在菜单方式下的操作: 在 VFP 主菜单选“窗口”→选“数据工作期” ,弹出“数据工作期”窗口(如图 3-7 所 第3章数据库与表的基本操作示) ,单击“打开”按钮,弹出“打开”窗口(如图 3-8 所示) ,选择数据表(如:Xscj) ,单 击“确定”按钮返回“数据工作期”窗口。图 3-7数据工作期窗口图 3-8“打开”窗口(2)在命令窗口下的操作: SELECT 1 USE Xsda SELECT 2 USE Xscj SELECT 3 37Visual Foxpro 数据库与程序设计基础实验教程USE Xsxk SELECT 4 USE Pkqk 【例 2】建立 Xsda、Xsxk、Pkqk 三个数据表的临时关系,并显示 Xsxk.dbf 中选课学生 的姓名、所选课程的名称、该课的任课教师等信息。 【操作步骤】 (1)在菜单方式下的操作: 第一步:首先,在“数据工作期”窗口打开 Xsda、Xsxk、Pkqk。 第二步:指定 Xsda 的主控索引为 XH;指定 Pkqk 的主控索引为 KC。 在“数据工作期”窗口选中 Xsda,单击“属性”按钮,弹出“工作区属性”窗口(如图 3-9 所示) ,在“索引顺序”下拉框选“Xsda.XH” ,单击“确定”按钮返回。 指定 Pkqk 的主控索引为 KC 的过程同上。图 3-9工作区属性窗口第三步:Xsxk 与 Xsda 按学号建立临时关系;Xsxk 与 Pkqk 按课程代号建立临时关系。 在“数据工作期”窗口选中 Xsxk,单击“关系”按钮,再选 Xsda,弹出“表达式生成 器”窗口(如图 3-10 所示) ,双击“字段”列表中的学号,单击“确定”按钮返回。 第3章数据库与表的基本操作图 3-10表达式生成器窗口Xsxk 与 Pkqk 按课程代号建立临时关系的过程同上。其结果如图 3-11 所示。图 3-11数据表关联第四步:显示结果(如图 3-12 所示) 。 在命令窗口输入命令:LIST 学号,Xsda.姓名,课程代号,Pkqk.课程名,Pkqk.任课教师。 39Visual Foxpro 数据库与程序设计基础实验教程图 3-12关联结果(2)在命令窗口输入命令: SELECT 1 USE Xsxk SELECT 2 USE Xsda ORDER TAG XH SELECT 3 USE Pkqk ORDER TAG KC SELECT 1 SET RELATION TO 学号 INTO Xsda SET RELATION TO 课程代号 INTO Pkqk ADDITIVE LIST 学号,Xsda.姓名,课程代号,Pkqk.课程名,Pkqk.任课教师 SET RELATION TO CLOSE DATA【实验内容】在“销售管理项目”中,完成以下操作: (1)分别在不同的数据区打开合同台账表、客户信息表、产品信息表三个数据表。 (2)建立上述三个数据表的临时关系,并显示合同信息表中合同编号、客户编号、客户 名称、客户地址、客户邮编、产品编号、产品名称、数量、单价、金额等信息。 第3章数据库与表的基本操作【实验报告】记录实验内容中的操作步骤和命令。3.2.5常见错误1. 不能加入这个表… 出错原因:将属于某个数据库的数据表添加到另一个数据库时,会发生该类错误。解决 方法是将该数据表移出原数据库,再进行添加。 2.“表设计器”确定按钮、插入按钮和删除按钮不可用。 出错原因:当前数据表为“只读”方式或当前数据表为“共享”方式。解决方法:在 Windows 环境下,修改数据表的属性,取消“只读”方式。以“独享”方式打开数据表的命 令是: SET EXCLUSIVE ON USE Xsda 或者:USE Xsda EXCLUSIVE 3. 修改表结构后,无法从“表设计器”退出。 出错原因:当设置“字段校验规则”后,单击“确定”按钮保存修改时,系统将按设定 的规则校验每个记录,若有不符合规则的记录,将不准退出。解决方法:在系统弹出图 3-13 时,单击复选框取消设置,不用规则对照现有记录。图 3-13规则校验对话框4. 文件‘XXX’不存在。 出错原因:当前盘无此文件。解决方法:指定当前工作目录。 5. 文件必须以独占方式打开。 出错原因:数据表以“共享”方式打开后,执行“PACK”永久删除时,将发生该 类错误。解决方法:以“独享”方式打开数据表。如:USE Xsda EXCLUSIVE。 6. 逻辑错误:分类汇总结果不正确。 出错原因:TOTAL 语句执行前数据表未按指定关键字排序。 7. 变量找不到。 出错原因:变量名写错;当前数据表中无此字段;使用别区字段时未加别区名。 8. 文件正在使用。 出错原因:当前要打开的数据表在其他工作区已经打开了。常常发生在调试程序时,程 序中途出错,由于未执行到关闭所有数据表的语句(如:CLOSE ALL) ,使许多数据表仍处 于打开状态, 当再次执行程序时发生该类错误。 解决方法: 在命令窗口输入命令 CLEAR ALL 或者 CLOSE ALL。 41Visual Foxpro 数据库与程序设计基础实验教程9. 逻辑错误:关联不成功。 出错原因:父库与子库关联字段的类型不同或宽度不同;子库未在关联字段上索引或未 指定关联字段为主控索引;数据表名与工作区名冲突,如:数据表名为 A.dbf 与第一工作区 名冲突。 第4章4.14.1.1 选择题查询与视图基础知识练习1. 查询设计器和视图设计器的主要区别表现在________。 A. 查询设计器有“更新条件”选项卡,没有“查询去向”选项卡 B. 查询设计器没有“更新条件”选项卡,但有“查询去向”选项卡 C. 视图设计器没有“更新条件”选项卡,有“查询去向”选项卡 D. 视图设计器有“更新条件”选项卡,也有“查询去向”选项卡 【答案】B 2. 如果要在屏幕上直接看到查询结果, “查询去向”应该选择________。 A. 屏幕 B. 浏览 C. 临时表和屏幕 D. 浏览或屏幕 【答案】B 3. 使用菜单操作方法打开一个在当前目录下已经存在的查询文件 zgjk.qpr 后,在命令窗 口生成的命令是________。 A. OPEN QUERY zgjk.qpr B. MODIFY QUERY zgjk.qpr C. DO QUERY zgjk.qpr D. CREATE QUERY zgjk.qpr 【答案】B 4. 只有满足联接条件的记录才包含在查询结果中,这种联接为________。 A. 左联接 B. 右联接 C. 内部联接 D. 完全联接 【答案】C 5. 修改本地视图使用的命令是________。 A. CREATE SQL VIEW B. MODIFY VIEW C. RENAME VIEW D. DELETE VIEW 【答案】B 6. 以下关于查询的描述正确的是________。 A. 不能根据自由表建立查询 B. 只能根据自由表建立查询 C. 只能根据数据库表建立查询 D. 可以根据数据库表和自由表建立查询 【答案】D 7. 以下关于视图的描述正确的是________。 A. 不能根据自由表建立视图 B. 只能根据自由表建立视图 C. 只能根据数据库表建立视图 D. 可以根据数据库表和自由表建立视图 【答案】D 8. 查询设计器中包括的选项卡有________。 43Visual Foxpro 数据库与程序设计基础实验教程A. 字段、筛选、排序依据 B. 字段、条件、分组依据 C. 条件、排序依据、分组依据 D. 条件、筛选、杂项 【答案】A 9. 在 SQL 查询时,使用 WHERE 子句指出的是________。 A. 查询目标 B. 查询结果 C. 查询条件 D. 查询视图 【答案】C 10. DELETE FROM S WHERE 年龄&60 语句的功能是________。 A. 从 S 表中彻底删除年龄大于 60 岁的记录 B. S 表中年龄大于 60 岁的记录被加上删除标记 C. 删除 S 表 D. 删除 S 表的年龄列 【答案】B 11. UPDATE-SQL 语句的功能是________。 A. 属于数据定义功能 B. 属于数据查询功能 C. 可以修改表中某些列的属性 D. 可以修改表中某些列的内容 【答案】D 12. SELECT-SQL 语句是________。 A. 选择工作区语句 B. 数据查询语句 C. 选择标准语句 D. 数据修改语句 【答案】B 13. 关于 INSERT-SQL 语句描述正确的是________。 A. 可以向表中插入若干条记录 B. 在表中任何位置插入一条记录 C. 在表尾插入一条记录 D. 在表头插入一条记录 【答案】C 14. 建立表结构的 SQL 命令是________。 A. CREATE CURSOR B. CREATE TABLE C. CREATE INDEX D. CREATE VIEW 【答案】B 15. 不属于数据定义功能的 SQL 命令是________。 A. CREATE TABLE B. CREATE CURSOR C. UPDATE D. ALTER TABLE 【答案】C 16. 关于视图和查询,下列说法正确的是________。 A. 对视图和查询的使用与表一样,也可以进行插入、查询、删除、修改操作 B. 视图和查询文件的扩展名都是.QPR C. 执行查询文件可使用 DO 命令 D. 在 VFP 中,建立视图不会用到任何网络资源 【答案】C 17. 关于视图,下列说法错误的是________。 A. 对视图的使用与表一样,也可以进行插入、查询、删除、修改操作 第4章查询与视图B. 视图与查询一样,都以文件的形式独立存在,都可以为数据库所管理 C. 视图与表不一样,它是一种虚表,不存储数据 D. 在 VFP 中,可建立本地视图和远程视图 【答案】B 18. 学生成绩表 STUDENT.dbf 的结构如下:姓名(C,8),语文(N,5,2),数学(N,5,2),英 语(N,5,2),总分(N,6,2)。其中前 4 个字段均已有值,要求统计每位学生的总分并存入总分字 段中,下列命令中不能实现的是________。 A. replace all 总分 with 语文+数学+英语 B. sum 语文+数学+英语 to 总分 C. update STUDENT set 总分=语文+数学+英语 D. scan repl 总分 with 语文+数学+英语 endscan 【答案】B 19. 要在浏览窗口中显示表 TEACHER.dbf 中所有教授和副教授的记录, 下列命令中错误 的是________。 A. use TEACHER browse for 职称=&教授& OR 职称=&副教授& B. select * from TEACHER where &教授&$职称 C. select * from TEACHER where 职称 in(&教授&, &副教授&) D. select * from TEACHER where 职称=&教授& AND 职称=&副教授& 【答案】D 20. 使用 SELECT-SQL 命令建立查询时,若要将查询结果输出到一临时数据表中,需要 选择使用以下________子句。 A. INTO ARRAY B. INTO CURSOR C. INTO TABLE D. TO FILE 【答案】B 21. 视图是一个________。 A. 虚拟的表 B. 真实的表 C. 不依赖于数据库的表 D. 不能修改的表 【答案】A 22. 不属于数据定义功能的 SQL 语句是________。 A. CREATE TABLE B. CREATE VIEW C. UPDATE D. ALTER TABLE 【答案】C 23. 在下面有关 HAVING 子句描述错误的是________。 A. HAVING 子句必须与 GROUP BY 子句同时使用,不能单独使用 B. 使用 HAVING 子句的同时不能使用 WHERE 子句 C. 使用 HAVING 子句的同时可以使用 WHERE 子句 D. 使用 HAVING 子句的作用是限定分组的条件 45Visual Foxpro 数据库与程序设计基础实验教程【答案】B 24. SQL 的数据操作语句不包括________。 A. INSERT B. UPDATE C. DELETE D. CHANGE 【答案】D 25. SQL 语句中条件短语的关键字是________。 A. WHERE B. FOR C. WHILE D. CONDITION 【答案】A 26. SQL 语句中修改表结构的命令是________。 A. MODIFY TABLE B. MODIFY STRUCTURE C. ALTER TABLE D. ALTER STRUCTURE 【答案】C 27. SQL 语句中删除表的命令是________。 A. DROP TABLE B. DELETE TABLE C. ERASE TABLE D. DELETE DBF 【答案】A 28. 对视图的更新是否反映在了基本表里,取决于在建立视图时是否在&更新条件&选顶 卡中选择了________。 A. 关键字段 B. SQL UPDATE C. 发送 SQL 更新 . 同步更新 【答案】C 29. 在查询设计器的查询去向的设置中,不能实现的输出是________。 A. 表 B. 视图 C. 图形 D. 报表 【答案】B 30. 在 Visual Foxpro 6.0 中,建立查询可用________方法 A. 使用查询向导 B. 使用查询设计器 C. 直接使用 SELECT-SQL 命令 D. 以上方法均可 【答案】D 31. 有关多表查询结果中,以下说法正确的是________。 A. 只可包含其中一个表的字段 B. 必须包含查询表的所有字段 C. 可包含查询表的所有字段,也可只包含查询表部分字段 D. 以上说法均不正确 【答案】C 32. 视图不能单独存在,它必须依赖于________。 A. 视图 B. 数据库 C. 数据表 D. 查询 【答案】B 33. 修改本地视图使用的命令是________。 A. CREATE SQL VIEW B. MODIFY VIEW C. RENAME VIEW D. DELETE VIEW 【答案】B 第4章查询与视图34. 下面关于查询描述正确的是________。 A. 可以使用 CREATE VIEW 打开查询设计器 B. 使用查询设计器可以生成所有的 SQL 查询语句 C. 使用查询设计器生成的 SQL 语句存盘后将存放在扩展名为 QPR 的文件中 D. 使用 DO 语句执行查询时,可以不带扩展名 【答案】C 35. 下列关于查询设计器的说法中错误的是________。 A. 既可对单表查询,也可对多表查询 B. 在分组依据选项卡中,可以设置查询结果按某一字段值的升序排列 C. 可以将查询结果保存到扩展名为.qpr 的查询文件中,并可在命令窗口中直接用 do 命令执行 D. 可以设定查询结果的输出形式,如临时表,图形等 【答案】B 36. 在查询设计器中已设定联接条件为 STUDENT.姓名=xscj.姓名,若要在查询结果中显 示 STUDENT 表中所有记录及 xscj 表中满足条件的记录,则联接类型应为________。 A. 内部联接 B. 左联接 C. 右联接 D. 完全联接 【答案】B 37. 下列说法中错误的是________。 A. 在数据库中,可以包含表,视图,查询以及表间永久关系 B. 可以通过修改视图中数据来更新数据源中数据,但查询不可以 C. 建立查询和视图时,数据表可作为数据源 D. 视图虽然具备了一般数据表的特征,但它本身并不是表 【答案】A 38. SQL 语言具有两种使用方式,分别称为交互式 SQL 和________。 A. 提示式 SQL B. 多用户 SQL C. 嵌入式 SQL D. 解释式 SQL 【答案】C 39. Visual FoxPro 中支持的 SQL 功能不包括________。 A. 数据定义 B. 数据修改 C. 数据查询 D. 数据控制 【答案】D 40. 在 SQL 语句中用语分组的短语是________。 A. ORDER BY B. AVG C. GROUP BY D.SUM 【答案】C 41. 下面 SQL 语句的执行结果是________。 SELECT SUM(工资) FROM 职工 A. 工资的最大值 B. 工资的最小值 C. 工资的平均值 D. 工资的合计 【答案】D 42. SQL 查询语句中 ORDER BY 子句的功能是________。 A. 对查询结果进行排序 B. 分组统计查询结果 C. 限定分组检索结果 D. 限定查询条件 47Visual Foxpro 数据库与程序设计基础实验教程【答案】A 43. 在 VFP 系统中,查询文件的扩展名为________。 A. .DBF B. .QPR C.. .SCX D. .TXT 【答案】B 44. 在 VFP 中,关于视图说法正确的是________。 A. 视图与查询没有区别 B. 视图是一个虚表,不形成对应的磁盘文件 C. 通过视图不能修改原表 D. 只能给自由表建立视图 【答案】B 45. 在 SQL 的 SELECT 查询结果中,消除重复记录的方法是________。 A. 通过指定主关系键 B. 通过指定惟一索引 C. 使用 DISTINCT 子句 D. 使用 HAVING 子句 【答案】C 46. 在查询设计器中已设定联接条件为 STUDENT.姓名=xscj.姓名, 若要在查询结果中 显示 STUDENT 表中所有记录及 xscj 表中所有的记录,则联接类型应为________。 A. 内部联接 B. 左联接 C. 右联接 D. 完全联接 【答案】D 47. 查询所有 1982 年 3 月 20 日以后(含)出生、性别为男的学生,正确的 SQL 语句是 ________。 A. SELECT * FROM 学生 WHERE 出生日期&={^} AND 性别=”男” B. SELECT * FROM 学生 WHERE 出生日期&={^} AND 性别=”男” C. SELECT * FROM 学生 WHERE 出生日期&={^} OR 性别=”男” D. SELECT * FROM 学生 WHERE 出生日期&={^} OR 性别=”男” 【答案】A 48. 计算刘明同学选修的所有课程的平均成绩,正确的 SQL 语句是________。 A. SELECT AVG(成绩) FROM 选课 WHERE 姓名=”刘明” B. SELECT AVG(成绩) FROM 学生,选课 WHERE 姓名=”刘明” C. SELECT AVG(成绩) FROM 学生,选课 WHERE 学生.姓名=”刘明” D. SELECT AVG(成绩) FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 姓名=” 刘明” 【答案】D 49. 假定学号的第 3、4 位为专业代码。要计算各专业学生选修课程号为”101”课程的 平均成绩,正确的 SQL 语句是________。 A. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程 号=”101” GROUP BY 专业 B. SELECT SUBS(学号,3,2) AS 专业, AVG(成绩) AS 平均分 FROM 选课 WHERE 课程 号=”101” GROUP BY 1 C. SELECT SUBS(学号,3,2) AS 专业, AVG(成绩) AS 平均分 FROM 选课 WHERE 课程 号=”101” ORDER BY 专业 D. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程 号=”101” ORDER BY 1 第4章查询与视图【答案】B 50. 查询选修课程号为”101”课程得分最高的同学,正确的 SQL 语句是________。 A. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课 程号=”101” AND 成绩&=ALL(SELECT 成绩 FROM 选课) B. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成 绩&=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=”101”) C. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成 绩&=ANY(SELECT 成绩 FROM 选课 WHERE 课程号=”101”) D. SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课 程号=”101” AND 成绩&=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=”101”) 【答案】D 51. 插入一条记录到“选课”表中,学号、课程号和成绩分别是“”“103”和 、 80,正确的 SQL 语句是________。 A.INSERT INTO 选课 VALUES(“””103” , ,80) B.INSERT VALUES(“””103” , ,80)TO 选课(学号,课程号,成绩) C.INSERT VALUES(“”“103” , ,80)INTO 选课(学号,课程号,成绩) D.INSERT INTO 选课(学号,课程号,成绩) FORM VALUES(“”,”103”,80) 【答案】A 52. 将学号为“” 、课程号为“102”的选课记录的成绩改为 92,正确的 SQL 语 句是________。 A. UPDATE 选课 SET 成绩 WITH 92 WHERE 学号=””AND 课程号=”102” B. UPDATE 选课 SET 成绩=92 WHERE 学号=” AND 课程号=”102” C. UPDATE FROM 选课 SET 成绩 WITH 92 WHERE 学号=””AND 课程号=” 102” D. UPDATE FROM 选课 SET 成绩=92 WHERE 学号=”” AND 课程号=”102” 【答案】B 53. 假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的 SQL 语句是 ________。 A. SELECT 产品名称,AVG(单价)FROM 产品 GROUP BY 单价 B. SELECT 产品名称,AVG(单价)FROM 产品 ORDERBY 单价 C. SELECT 产品名称,AVG(单价)FROM 产品 ORDER BY 产品名称 D. SELECT 产品名称,AVG(单价)FROM 产品 GROUP BY 产品名称 【答案】D 54. 设有 s(学号,姓名,性别)和 sc(学号,课程号,成绩)两个表,如下 SQL 语句检索选修的每 门课程的成绩都高于或等于 85 分的学生的学号、姓名和性别,正确的是________。 A. SELECT 学号,姓名,性别 FROM s WHERE EXISTS (SELECT* FROM SC WHERE SC.学号=s.学号 AND 成绩&=85) B. SELECT 学号,姓名,性别 FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.学号=s.学号 AND 成绩&=85) C. SELECT 学号,姓名,性别 FROM S WHERE EXISTS 49Visual Foxpro 数据库与程序设计基础实验教程(SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩&85) D. SELECT 学号,姓名,性别 FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.学号=S.学号 AND 成绩&85) 【答案】D 55. 假设”订单”表中有订单号、职员号、客户号和金额字段,正确的 SQL 语句只能是 ________。 A. SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)&3 AND AVG_金额&200 B. SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)&3 AND AVG(金额)&200 C. SELECT 职员号 FROM 订单 GROUP,BY 职员号 HAVING COUNT(*)&3 WHERE AVG(金额)&200 D. SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)&3 AND AVG_金额&200 【答案】B4.1.2填空题1. 查询设计器的“筛选”选项卡用来指定查询的________。 【答案】条件 2. 视图是在数据库表的基础上创建的一种虚拟表。 所谓虚拟表是指视图的数据是从已有 的数据库表或其他视图中提取的,这些数据在________中并不实际存储,仅在数据词典中存 储视图的定义。 【答案】视图 3. 内部联接是指只有________的记录才包含在查询结果中。 【答案】符合条件 4. 在 VFP 支持的 SQL 语句中,________命令可以向表中输入记录,________命令可以 检查和查询表中的内容,________命令可以修改表中的数据,________命令可以修改表的结 构。 【答案】INSERT、SELECT、UPDATE、ALTER TABLE 5. 在 ORDER BY 排序子句的选择项中,DESC 代表________输出;省略 DESC 时,代 表________输出。 【答案】降序、升序 6. 在数据表 GZB 中,将“职称”字段值为“副教授”的“补贴”字段的值增加 800 元, 可使用 SQL 命令为 。 【答案】UPDATE GZB SET 补贴=补贴+800 WHERE 职称=”副教授” 7. 从数据表 RSGL 和 RSGZ 两个表中,查询出“编号”字段值相同的记录的全部信息,则 实现此功能的 SQL 命令为____ 。 【答案】SELECT * FROM RSGL INNER JOIN RSGZ ON RSGL. 编号=RSGZ. 编号 8. 设有教师工资表 SALARY.DBF,表结构为:工号(C/10) 、职称(C/5) 、工资(N/7.2) , 用 SQL 语言检索每种职称的 “职称”及平均工资的语句是(关键字必须拼写完整) 。 第4章查询与视图SELECT 职称, FROM SALARY 【答案】AVG(工资),GROUP BY 职称 9. SQL 支持集合的并运算,运算符是______________。 【答案】UNION 10. 在 SQL 语句中空值用___________表示。 【答案】NULL 11. 在 Visual Foxpro 中 SQL DELETE 命令是____________删除记录。 【答案】逻辑 12. 在 SQL SELECT 中用于计算检索的函数有 COUNT、 ______、 _______、 MAX 和 MIN。 【答案】AVG,SUM 13. SQL SELECT 语句为了将查询结果存放到数组中应该使用____________短语。 【答案】INTO ARRAY 14. 查询设计器的排序依据选项卡的作用相当于 SELECT 命令中的___________短语。 【答案】ORDER BY 15. 通过 Visual Foxpro 的视图,不仅可以查询数据表,还可以__________数据表。 【答案】更新 16. 在数据库中可以建立两种视图,分别是__________和___________。 【答案】本地视图,远程视图 17. 在查询设计器中,选择查询结果中出现字段及表达式应在______选项卡中完成,设置 查询条件应在_______选项卡中完成,该选项卡相当于 SQL-SELECT 语句中的 where 子句。 【答案】字段,筛选 18. 若有二个数据表 stud1.dbf、stud2.dbf,结构分别如下: stud1.dbf 的表结构: stud2.dbf 的表结构: 字段名 字段类型 字段长度 小数位 字段名 字段类型 字段长度 小数位 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 学号 C 6 学号 C 6 姓名 C 8 选课 C 20 性别 C 2 出生年月 D 8 总成绩 N 3 获奖次数 N 2 简历 M 4 两表的内容分别如下: stud1.dbf 的表中的记录: 学号 姓名 出生年月 性别 总成绩 获奖次数 简历 991201 李红 08/23/71 女 89 5 Memo 991202 张红 05/12/77 女 78 6 Memo 991101 大宝 06/17/72 男 56 4 Memo 991203 海飞丝 05/12/72 男 67 7 Memo 991102 诗芬 05/18/78 女 76 5 Memo 51Visual Foxpro 数据库与程序设计基础实验教程991301 杏花村 05/12/68 男 88 6 Memo stud2.dbf 的表中的记录: 学号 选课 991201 操作系统 991301 网页设计 991301 操作系统 991202 数据结构 991201 数据结构 991203 操作系统 991101 数据库 991102 数据库 991301 计算机网络 991202 计算机网络 1)使用 SQL 命令列出表 stud1.dbf 中的“获奖次数”在 5 次以上的男生详细信息,可使 用的命令是???????????。 【答案】SELECT *FROM STUD1 WHERE 获奖次数&5 AND 性别=”男” 2)为表 stud1.dbf 中“获奖次数”在五次以上(含 5 次)的学生的总成绩加上 5 分, “获 奖次数”在五次以下的学生的总成绩加上 3 分,可使用命令: update stud1???????????总成绩=IIF(???????????,总成绩+5, 总成绩+3)。 【答案】SET,获奖次数&=5 3)使用 SQL 命令在表 stud2.dbf 中插入一条记录:学号为“991201” ,选课为“VFP 程 序设计” ,命令是:Insert???????????。 【答案】INTO STUD2 VALUES( “991201”“VFP 程序设计” , ) 4)使用 SQL 命令查询表 stud1.dbf 中的总成绩最高的学生的“学号”“姓名”“总成绩” 、 、 信息,应使用的命令是:???????????。 【答案】SELECT 学号,姓名,总成绩 FROM stud1 WHERE 总成绩 =(SELECT MAX (总成绩)FROM stud1) 5)使用 SQL 命令查询表 stud1.dbf 中的选课是操作系统的学生的“学号”“姓名”“总 、 、 成绩”信息,应使用的命令是:???????????。 SELECT 学号, 姓名, 总成绩 FROM stud1 WHERE 学号 IN (SELECT 学号 FROM stud2 WHERE 选课=”操作系统”) 6)使用 SQL 命令查询表 stud1.dbf 中的总成绩前三名的学生的信息,可使用命令 ???????????。 【答案】SELECT * TOP 3 FROM STUD1 ORDER BY 总成绩 DESC 19. 在 SQL 查询语句中, 显示部分结果的 top 短语必须要与???????????短语一起来使用。 【答案】Order By 20. 查询数据表 Rsda 中职工的“职称”字段值为空值的记录的命令是: SELECT * FROM Rsda WHERE?????????????????????? 【答案】职称 IS NULL 21. 查询表 Rsgz 中“实发工资”字段值在 800 元到 1000 元范围内的职工信息查询语句 第4章查询与视图是:SELECT 编号,姓名,实发工资 FROM Rsgz??????????????????????。 【答案】WHERE 实发工资 BETWEEN 800 AND 1000 或者 WHERE 实发工资>=800 AND 实发工资<=1000 22. 在 SQL 命令中, LIKE 是字符串匹配运算符, 其中通配符???????????可表示 0 个或 多个字符。 【答案】% 23. 在 SQL 的 SELECT 查询中, HAVING 字句不可以单独使用, 总是跟在????????子句 之后一起使用。 【答案】GROUP BY 24. 在 SQL 的 SELECT 查询时,使用????????子句实现消除查询结果中的重复记录。 【答案】DISTINCT 25. SQL SELECT 语句的功能是????????。 【答案】数据查询4.24.2.1 SQL 命令上机操作【实验题目】SQL 操作 【实验目的】上机实验通过本实验使学生掌握基本的 SQL 命令的使用方法。主要包括:CREATE TABLE、 SELECT、UPDATE、INSERT、DELETE 等。【实验示例】设有三个表,结构如下, 学生表: Student(sno char(5), sname char(8), ssex char(2), sage int, sdept char(20))分别表示:学号, 姓名,性别,年龄,系。 课程表: Course(cno char(4),cname char(20),cteacher char(8),credit float)分别表示:课程号,课程名, 教师,学分。 学生选课表: SC(sno char(5),cno char(4),cgrade float)分别表示:学号,课程号,成绩。 试用 SQL 命令建立这三个表。 操作:在命令窗口中,顺序执行以下命令,则会建立三个数据表。如图 4-1 所示。 create table Course(cno char(4),cname char(20),cteacher char(8),credit float) create table Student(sno char(5), sname char(8), ssex char(2), sage int, sdept char(20)) create table SC(sno char(5),cno char(4),cgrade float) 53Visual Foxpro 数据库与程序设计基础实验教程图 4-1创建表在三个表中分别输入以下内容: Student 表中的数据:SNO
SNAME 王华 李明 张一 李众 张军 段文英 SSEX 女 男 女 男 男 女 AGE 19 20 20 19 20 18 SDEPT 外语系 外语系 外语系 计算机系 计算机系 计算机系Course 表中的数据:CNO 03 02 CNAME 高等数学 数据结构 操作系统 JAVA 英语写作 听力 CTEACHER 王强 李文学 刘相明 李品田 徐立水 刘海华 CREDIT 6 4 4 3 4 4SC 表中的数据:SNO
99102 CNO 01 CGRADE 第4章
99002查询与视图04 03 1001(1)查询外语系学生的姓名,性别,年龄,结果按年龄排序。 操作:在命令窗口中,执行以下命令: select sname,ssex,sage from Student where sdept='外语系' order by sage (2)试用 SQL 在 Course 表中插入一条记录(2003,英语,赵海)。 操作:在命令窗口中,执行以下命令: insert into Course(cno,cname,cteacher) values ('2003','英语','赵海') (3)将 Course 表中课程号为 2003 的课程的学分修改为 3。 操作:在命令窗口中,执行以下命令: Update Course set credit=3 where cno=’2003’ (4)查询李明同学所选课程的课程名,学分,成绩。 操作:在命令窗口中,执行以下命令: select cname,credit,cgrade from Student,SC,C where Student.sno=SC.sno and Course.cno=SC.cno and Student.sname=’李明’ (5)试删除李众同学的信息。 操作:在命令窗口中,执行以下命令: delete from S where sname=’李众’ (6)试删除李众同学的选课信息。 操作:在命令窗口中,执行以下命令: delete from SC; where SC.sno in (select sno from S where sname=’ 李众’) (7)查询选修了高等数学的学生信息。 操作:在命令窗口中,执行以下命令: select Student .* from Student,SC,C where Student.sno=SC.sno and Course.cno=SC.cno and Course.Cname=’高等数学’【实验内容】1. 使用 SQL 命令创建表 CJB。表格式如下: 学号(C10) 、姓名(C10) 、语文(N8.1) 、数学(N8.1) 、物理(N8.1) 、 化学(N8.1) 、政治(N8.1) 。 2. 使用 SQL 命令增加一条记录,并计算总成绩。 55 学号 Visual Foxpro 数据库与程序设计基础实验教程 姓名 李明 语文 88 数学 98 物理 97 化学 95 政治 713. 修改表结构,增加列“平均成绩(N8.2)。提示:使用 ALTER TABLE 命令。 ” 4. 创建 SQL 查询,列表显示所有记录。 5. 在“销售管理项目”中用 SQL 语句完成以下操作: (1)新增一个客户信息(”C”, “新星超市”, “济南市文化路 27 号”, “王刚”, “7”, “7”, 中国建设银行文东支行, “311”, “250014”, “”) (2)查询最近一周内定购金额(数量*单价*折扣)超过 10 万元的客户信息,包括客户 信息表中的所有字段。 (3)查询最近一个月内卖出数量最多的产品信息,包括产品信息表中所有字段。 (4)修改客户”C”的 emial 为””。【实验报告】将实验内容的 SQL 命令写出并执行。4.2.2使用查询设计器创建数据查询【实验题目】使用查询设计器 【实验目的】熟练掌握查询设计器的使用,掌握使用查询设计器设计查询的基本方法。【实验示例】基于项目“学生管理.PJX” ,使用查询向导建立查询文件“学生信息.QPR” ,查询内容为: 所有学生的基本信息,包含学号、姓名、性别、出生日期、专业、特长,并按学号进行升序 排序。操作步骤如下: (1)打开实验项目“学生管理” ,如图 4-2 所示。图 4-2项目管理对话框(2)在图 4-2 中,选择“查询” ,然后单击“新建”按钮,弹出对话框,如图 4-3 所示。 第4章查询与视图图 4-3新建查询对话框图 4-4添加表或视图对话框(3)在图 4-3 所示对话框中的选择“新建查询” 。出现添加表或视图对话框,如图 4-4 所示。选择数据库 XSGL,然后选中数据表 XSDA,单击“添加”按钮,将表 XSDA 添加到 查询设计器中。单击“关闭”按钮关闭添加表或视图对话框。 (4)在图 4-5 中,选择“字段”选项卡,按照实验要求添加选定字段:学号、姓名、性 别、出生日期、专业、特长。图 4-5字段选取对话框(5)在图 4-5 中,选择“排序依据”选项卡,按照实验要求设定“学号”字段为排序条 件,如图 4-6 所示。图 4-6设定排序条件对话框(6)查看 SQL。当进行完上述设置后,系统会自动生成查询命令,选择“查询”菜单 中的“查看 SQL”命令,本实验生成的查询命令如图 4-7 所示。 57Visual Foxpro 数据库与程序设计基础实验教程图 4-7查看 SQL(7)保存查询,单击工具栏上的保存按钮 或选择“文件”菜单中的“保存” ,出现另 存为对话框,查询文件名为“学生信息.QPR” 。如图 4-8 所示。图 4-8保存查询(8)运行查询。 在命令窗口中执行命令“DO 学生信息.QPR”或在查询文件打开的情况下,单击工具栏 上的运行按钮 ,也可以在项目管理器中,直接单击“运行”按钮,即可得实验所要求的 查询结果,如图 4-9 所示。图 4-9学生信息查询结果【实验内容】在“销售管理项目”中创建“当天签定合同查询” 。显示字段:签定时间,合同编号,客 户编号,客户名称,产品编号,产品名称,数量,单价,合同金额(数量*单价*折扣) 。【实验报告】将实验内容的操作步骤写出。4.2.3使用查询向导设计查询【实验题目】使用查询向导 【实验目的】通过本实验,使学生熟练掌握查询向导的使用,掌握使用向导设计查询的基本方法。【实验示例】 第4章查询与视图在实验项目学生管理.PJX 中使用查询向导建立查询“学生选课.QPR” ,查询内容为:所 有计算机应用专业学生选课情况列表,包含 XSDA.姓名、XSDA.学号、XSXK.学号、XSXK. 课程代号、PKQK.课程代号、PKQK.课程名、PKQK.任课教师、PKQK.时间、PKQK.地点, 按照学号升序排列。操作步骤如下: 注意:要取得这些字段详细信息,需要涉及到 3 个表:XSDA、 XSXK、 PKQK。 (1)打开实验项目“学生管理” ,如图 4-2 所示。 (2)在图 4-2 中,选择“查询” ,然后单击“新建”按钮,弹出对话框,如图 4-3 所示。 (3)在图 4-3 中单击“查询向导”按钮,弹出对话框,如图 4-10 所示,选择“查询向 导” ,单击“确定”按钮。图 4-10向导选取对话框(4)步骤 1-字段选取。选定字段:XSDA.姓名、XSDA.学号、XSXK.学号、XSXK. 课程代号、PKQK.课程代号、PKQK.课程名、PKQK.任课教师、PKQK.时间、PKQK.地点。 结果如图 4-11 所示。单击“下一步”按钮,出现步骤 2-为表建立关系对话框。如图 4-12 所 示。图 4-11字段选取对话框(5)步骤 2-为表建立关系。在图 4-12 中,添加两个条件以建立查询所基于的表间关 系,这两个条件是:XSDA.学号=XSXK.学号,XSXK.课程代号=PKQK.课程代号。 添加完毕,单击“下一步”按钮。出现步骤 3-筛选记录对话框,如图 4-13 所示。 59Visual Foxpro 数据库与程序设计基础实验教程图 4-12为表建立关系对话框(6)步骤 3-筛选记录。可以设定查询的条件。本例不设置,直接单击“下一步”按钮。图 4-13筛选记录对话框(7)步骤 4-排序记录,设定排序字段为 XSDA.学号,如图 4-14 所示。单击“下一步” 按钮,出现步骤 4a-限制记录对话框,如图 4-15 所示。图 4-14排序记录对话框(8)步骤 4a-限制记录。在图 4-15 所示的限制记录对话框中,本实验不改变默认设置, 显示所有符合条件的记录。不改变设置,单击“下一步” ,如图 4-16 所示。 第4章查询与视图图 4-15限制记录对话框图 4-16完成对话框(9)单击“完成” ,在弹出的文件保存对话框中输入文件名“学生选课.QPR” ,按“保 存”按钮,查询创建完毕。运行查询学生选课,得到如图 4-17 所示的查询结果。 61Visual Foxpro 数据库与程序设计基础实验教程图 4-17学生选课查询结果本实验自动生成的 SQL 代码如下: SELECT XSDA.学号,XSDA.姓名,XSXK.学号,XSXK.课程代号,PKQK.课程代号,PKQK. 课程名,PKQK.任课教师,PKQK.时间,PKQK.地点; FROM XSGL!XSDA XSDA INNER JOIN (XSGL!XSXK XSXK INNER JOIN XSGL!PKQK PKQK ON XSXK.课程代号 = PKQK.课程代号) ON XSDA.学号 = XSXK.学号; ORDER BY XSDA.学号【实验内容】在 “销售管理项目” 中使用查询向导建立查询 “大额合同查询” 查询结果为所有金额 , (数 量*单价*折扣)超过 100 万的合同,显示字段为签定时间,合同编号,客户编号,客户名称, 产品编号,产品名称,数量,单价,金额(数量*单价*折扣) 。【实验报告】将实验内容的操作步骤写出。4.2.4使用视图设计器创建视图【实验题目】使用视图设计器 【实验目的】熟练掌握视图设计器的使用,掌握使用视图设计器设计视图的基本方法。【实验示例】在项目“学生管理.PJX”中使用视图设计器建立视图“学生成绩” ,视图内容为:所有计 算机应用专业的学生的成绩列表,包含 XSDA.学号、XSDA.姓名、XSDA.专业以及 XSCJ 表 中的各门课成绩、平均成绩、总成绩。操作步骤如下: (1)在图 4-2 项目管理对话框中,选择本地视图,然后单击“新建”按钮,如图 4-18 所示。 第4章查询与视图图 4-18新建本地视图对话框图 4-19添加表或视图对话框(2)在图 4-18 中,单击“新建视图” ,出现图 4-19 所示的添加表或视图对话框,加入 表 XSDA 和 XSCJ,选定字段,如图 4-20 所示。图 4-20视图设计器-选取字段(3)联接条件设置如图 4-21 所示。图 4-21视图设计器-联接设置(4)筛选设置,如图 4-22 所示。 63Visual Foxpro 数据库与程序设计基础实验教程图 4-22视图设计器-筛选设置(5)更新条件设置如图 4-23 所示。图 4-23视图设计器-更新条件设置(6)保存视图名为“学生成绩” ,如图 4-24 所示。图 4-24保存视图(7)在项目管理器中选择创建后的视图“学生成绩” ,单击“浏览” 按钮,结果如图 4-25 所示。图 4-25视图运行结果(8)对设计好视图的数据进行修改,检查修改的内容是否影响到原来的数据表。 (结论: 由于选择了“发送 SQL 更新” ,故对视图的修改将影响数据表。 )【实验内容】在“销售管理项目”中,分别使用视图向导和视图设计器设计视图创建“未发货合同信 息视图” ,显示已交付数量为空或为 0 的合同信息,显示字段为:合同编号、客户编号、客户 名称、客户联系人、客户电话、产品编号、产品名称、单位、库存、定购数量、交货时间、 交货地点、已付金额。【实验报告】写出实验内容的操作步骤。 第5章5.15.1.1 选择题程序设计基础基础知识练习1. 连续执行以下命令之后,最后一条命令的输出结果是________。 SET EXACT OFF X=&A & ? IIF(&A&=X,X-&BCD&,X+&BCD&) A. A B. BCD C. A BCD D. ABCD 【答案】C 2. 结构化程序设计的三种基本逻辑结构是________。 A. 选择结构、循环结构和嵌套结构 B. 顺序结构、选择结构和循环结构 C. 选择结构、循环结构和模块结构 D. 顺序结构、递归结构和循环结构 【答案】B 3. 在 Visual FoxPro 中,用于建立或修改过程文件的命令是________。 A. MODIFY COMMAND &文件名& B. MODIFY &文件名& C. MODIFY PROCEDURE &文件名& D. 上面 A 和 C 都对 【答案】D 4. 清除主窗口屏幕的命令是________。 A. CLEAR B. CLEAR ALL C. CLEAR SCREEN D. CLEAR WINDOWS 【答案】A 5. 如果主程序、子程序 1、子程序 2、子程序 3 依次调用,在子程序 3 中有 RETURN TO MASTER 语句,则由子程序 3 返回 A. 主程序 B. 子程序 1 C. 子程序 2 D. 子程序 3 【答案】A 6. 在指定范围内扫描数据表文件,查找满足条件的记录并执行循环体中其他的语句,最 合适的循环语句是 A.DO WHILE-ENDDO B.DO CASE-ENDCASE C.SCAN-ENDSCAN D.FOR-ENDFOR 【答案】C 7. 在 Visual FoxPro 中,不能清除所有内存变量的命令是______。 A. RELEASE ALL B. CLEAR ALL C. CLOSE ALL D. CLEAR MEMORY 【答案】C 65Visual Foxpro 数据库与程序设计基础实验教程8. 文件的扩展名为.PRG 的文件是______。 A. 数据库文件 B. 格式文件 C. 备注文件 D. 程序文件 【答案】D 9. 若要中止部分语句执行而重新开始下一轮循环的命令是______。 A. LOOP B. EXIT C. SKIP D. GOTO 【答案】A 10. 在 INPUT、ACCEPT 和 WAIT 三个命令中,必须要以回车键表示输入结束的命令是 ______。 A. INPUT、ACCEPT B. INPUT、WAIT C. ACCEPT、WAIT D. INPUT、ACCEPT 和 WAIT 【答案】A 11. 在 DO WHILE-ENDDO 的循环结构中,下列叙述正确的是______。 A. 循环体中的 LOOP 和 EXIT 语句的位置是固定的 B. 在程序中应加入控制循环结束的语句 C. 执行到 ENDDO 时,首先判断表达式的值,然后再返回 DO WHILE 语句 D. 循环体中的 LOOP 语句为跳出循环体 【答案】B 12. 下列关于过程文件的说法中,错误的是______。 A. 过程文件的建立需使用 MODIFY COMMAND 命令 B. 过程文件的默认扩展名为.PRG C. 在调用过程文件中的过程之前不必打开过程文件 D. 过程文件只包含过程,可以被其他程序所调用 【答案】C 13. 软件是指______。 A. 程序 B. 程序和文档 C. 算法加数据结构 D. 程序、数据与相关文档的完整集合 【答案】D 14. 下面程序计算一个整数的各位数字之和。在下划线处应填写的语句是______。 SET TALK OFF INPUT”x=”TO x s=0 DO WHILE x!=0 s=s+MOD(x,10) ______ ENDDO ?s SET TALK ON A. x=int(x/10) B. x=int(x%10) C. x=x-int(x/10) D. x=x-int(x%10) 【答案】A 15. 如果在命令窗口执行命令:LIST 名称,主窗口中显示: 第5章程序设计基础记录号 名称 L 电视机 2 计算机 3 电话线 4 电冰箱 5 电线 假定名称字段为字符型、宽度为 6,那么下面程序段的输出结果是 GO 2 SCAN NEXT 4 FOR LEFT(名称,2)=“电” IF RIGHT(名称,2)=“线” EXIT ENDIF ENDSCAN ?名称 A. 电话线 B. 电线 C. 电冰箱 D. 电视机 【答案】A 16. 下面关于类的描述,错误的是________。 A. 一个类包含了相似的有关对象的特征和行为方法 B. 类是实例对象的抽象 C. 类并不实行任何行为操作,它仅仅表明该怎样做 D. 类可以按所定义的属性、事件和方法进行实际的行为操作 【答案】D 17. 下面关于属性、方法和事件的叙述中,错误的是________。 A. 属性用于描述对象的状态,方法用于表示对象的行为 B. 基于同一个类产生的两个对象可以分别设置自己的属性值 C. 事件代码也可以像方法一样被显式调用 D. 在新建一个表单时,可以添加新的属性、方法和事件 【答案】D 18. 现实世界中的每一个事物都是一个对象,任何对象都有自己的属性和方法。在下面 关于属性的描述中,正确的是________。 A. 属性只是对象所具有的内部特征 B. 属性就是对象所具有的固有特征,一般用各种类型的数据来表示 C. 属性只是对象所具有的外部特征 D. 属性就是对象所具有的固有方法 【答案】B 19. 每个对象都可以对一个被称为事件的动作进行识别和响应。 下面关于事件的描述中, 错误的是________。 A. 事件是一种预先定义好的特定的动作,由用户或系统激活 B. VFP 基类的事件集合是由系统预先定义好的,是惟一的 67Visual Foxpro 数据库与程序设计基础实验教程C. VFP 基类的事件也可以由用户创建 D. 可以激活事件的用户动作有按键、单击鼠标、移动鼠标等 【答案】C 20. 下面关于 OOP(面向对象的程序设计)的描述中,错误的是________。 A. OOP 以对象及其数据结构为中心 B. OOP 用“对象”表现事物,用“类”表示对象的抽象 C. OOP 用“方法”表现处理事物的过程 D. OOP 工作的中心是程序代码的编写 【答案】D5.1.2 填空题1. 下列程序的运行结果是__________。 X=&计算机等级考试& Y=&& I=LEN(X) DO WHILE I&=1 Y=Y+SUBSTR(X,I-1,2) I=I-2 ENDDO ?Y 【答案】试考级等机算计 2. 在 DO CASE-ENDCASE 语句中,可使用____}

我要回帖

更多关于 js 获取函数名 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信