




已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Visual FoxPro 程序设计,计算机与信息学院 谢楚运,Visual FoxPro Programming,2,Visual FoxPro程序设计,第1章 数据库技术基础 第2章 Visual FoxPro概述 第3章 数据类型、函数与表达式 第4章 表与数据库的基本操作 第5章 查询与视图 第6章 程序设计基础 第7章 面向对象程序设计 第8章 表单控件 第9章 报表设计 第10章 菜单设计,3,考试题型,选择题 共20题,每小题2.25分,共45分 操作题(共30分) 建立项目及操作(2分) 建库、添加表,修改表结构,添加表记录,建立索引及表间永久关系(10分) 用查询设计器进行多表查询设计(6分) 报表设计(6分) 菜单设计(6分) 设计题(25) 表单设计题1:表单控件布局与属性设置(包括控件生成器应用)(10分) 表单设计题2:事件代码编写(与数据表有关)(8分) 表单设计题3:事件代码编写(程序设计典型算法的简单应用,与数据表无关,单重循环,可与选择结构嵌套)(7分),4,第1章 数据库技术基础,数据库系统(DBS)的组成DB、DBMS、DBA、DBAS、用户 数据库系统的模式结构:三级模式二级映射 数据模型关系模型及有关术语 关系:二维表,数据表文件(.dbf ) 属性(字段) 元组(记录) 值域 主码(关键字) 关系模式(表的结构),5,第2章 Visual FoxPro概述,VFP 概述VFP的特点、集成环境及其配置、文件类型 项目管理器 辅助设计工具,6,第3章 数据类型、函数与表达式,数据类型:字符型、货币型、日期型、日期时间型、逻辑型、数值型、双精度型、浮点型、整型、通用型、备注型、字符型(二进制)、备注型(二进制)。常量、内存变量的数据类型有前6种。 数据存储容器 常量 变量 字段变量 内存变量 简单变量(store、=赋值命令) 数组(dimension定义数组命令) 系统变量,7,第3章 数据类型、函数与表达式,函数 数值函数:abs()、max()、min()、int()、mod()、round()、sqrt()、rand()、exp()、log() 字符函数:alltrim()、trim()、len()、at()、substr()、left()、right()、space()、upper()、lower()、empty()、& 日期/时间函数:date()、datetime()、time()、dow()、day()、 month()、year() 数据类型转换函数:asc()、chr()、val()、 str()、dtoc()、 dtos()、 ctod() 有关表操作的常用函数:Select()、Dbf()、Bof()、Eof()、Deleted()、 Reccount()、RecNo()、Found() 其他常用函数:BETWEEN( )、TYPE( )、IIF( )、MESSAGEBOX(),8,第3章 数据类型、函数与表达式,运算符 算术运算符 + ,- ,* ,/ ,% ,*, ,( ) 字符运算符 +,-,$ 日期和日期时间运算符 +,- 关系运算符: , =, , #, != , =, = 逻辑运算符:NOT, !,AND,OR 优先级:算术字符和日期时间关系逻辑 表达式 字符表达式 日期表达式 算术表达式 逻辑表达式,9,第4章 表与数据库的基本操作,重点 表的创建和使用的方法 记录的处理 表的索引 数据库的概念 数据库的创建和使用 数据库表属性的定义和使用 永久性关系 难点 命令方式进行表结构的处理 命令方式进行表记录的处理 表的索引的相关概念和使用 数据库表的有效性规则设定的意义和方法 永久性关系,10,第4章 表与数据库的基本操作,表的基本操作 表的类型:数据库表、自由表 表的创建:create student.dbf 表结构的修改:modify structure 表的打开: USE SHARED/EXCLUSIVE 表的关闭: USE、CLOSE TABLES、CLOSE ALL 表记录的输入:APPEND BLANK 表的浏览和编辑:BROWSE/EDIT 记录的筛选:SET FILTER TO 字段的筛选: SET FIELDS TO ,11,第4章 表与数据库的基本操作,表的基本操作 记录的处理 记录的定位: 绝对定位:“转到记录”菜单/go/goto命令 相对定位:“转到记录”菜单/skip命令 条件定位:定位记录对话框/locate for 命令 记录的修改: 单个记录修改:浏览/编辑方式下直接修改 批量修改:替换字段/replace 记录的删除: 步骤:添加删除标记(逻辑删除);彻底删除(物理删除) 。 逻辑删除:删除记录/delete 恢复作了删除标记的记录(恢复记录/recall) 物理删除:pack/zap,12,第4章 表与数据库的基本操作,表的索引 建立索引:INDEX ON TAG ASCENDING| DESCENDING UNIQUE|CANDIDATE FOR 索引的类型:侯选索引、主索引、普通索引、唯一索引 索引文件:结构复合索引文件(.CDX)、非结构复合索引文件(.CDX)、独立索引文件(.IDX) 指定主控索引: USE ORDER TAG SET ORDER TO TAG 利用索引快速定位记录:SEEK,13,第4章 表与数据库的基本操作,数据库(.DBC) 概念:是许多相关的数据库表的集合,包括表与表之间的关系,存储过程和函数,还有视图,数据库表之间有联系(关系) 数据库的创建 CREATE DATABASE MODIFY DATABASE 数据库的打开 open database jxgl 数据库的关闭 close database close database all 数据库表的添加与移去 数据库表之间的永久关系 数据库表的字段有效性、记录有效性,14,第4章 表与数据库的基本操作,多表操作 工作区:132767 选择当前工作区 SELECT 工作区号|别名 SELECT 0 表间的关联(临时关系):当父表的记录指针移动时,子表的记录指针也随之移动 “数据工作期”窗口 命令方式,15,第5章 查询与视图,统计命令 统计记录个数 Count For To 求和命令 Sum For To 求平均值命令 Average For To ,16,第5章 查询与视图,查询的创建和使用 查询:向数据库发出检索信息的请求,数据源是一张或多张相关表或视图 查询文件的扩展名.qpr,保存的是实现查询的SELECT-SQL语句 创建查询的方法 界面方式:“查询向导”、“查询设计器” 编写SELECT-SQL命令并执行 创建查询的步骤 添加表:XS,CJ 设置联接:XS.学号=CJ.学号,内部联接 选定字段:XS.学号,XS.姓名,SUM(CJ.成绩) AS 总分,AVG(CJ.成绩) AS 平均分,MIN(cj.成绩) AS 最低分 筛选:XS.系别=“计算机” 分组依据:XS.学号 排序依据:SUM(CJ.成绩) AS 总分,降序 输出去向:浏览、临时表、表、图形、屏幕、报表、标签 保存查询:xs_cj.qpr 运行查询:Do xs_cj.qpr,17,第5章 查询与视图,结构化查询语言SQL SELECT-SQL命令的格式P99,18,第5章 查询与视图,结构化查询语言SQL 表结构相关命令 create table xs (xh c(6), xm c(8), xb c(2) alter table xs add column bjmc C(12) alter table xs rename column bjmc TO bj alter table xs drop column bj 数据库表相关命令 Creat table cj1(xh c(6),kcdh c(6),cj n(3,0) check cj=80 ) alter table cj1 alter column cj set check cj =60 creat table cj2(xh c(6) default 980000,kcdh c(6),cj n(3) alter table cj2 alter column xh set default 980000 alter table js set check year(gzrq)-year(csrq)17 error “年龄要大于17岁“,19,第5章 查询与视图,结构化查询语言SQL 表记录的处理相关命令 Insert into xs (xh,xm) values(“950106”,”高山” ) update js set gl=gl+5 where gl25,20,第5章 查询与视图,视图的创建和使用 视图(.VUE) 从本地或远程数据表中检索所需的数据形成的一个虚拟表 视图是数据库中的一个对象 视图中的数据经过修改后送回到源表中可以更新相应的记录 创建本地视图:使用视图设计器(类似查询设计器) CREATE SQL VIEW AS 打开视图:USE !,21,第6章 程序设计基础,6.1 程序文件(.PRG)的建立与运行 MODIFY COMMAND 或MODIFY FILE Do 6.2 结构化程序设计初步 程序设计的两个步骤 算法设计:根据问题要拟定用计算机求解的策略和步骤。常用流程图表示。 编写程序:据拟定的算法,按照编程语言约定的规则,编写程序代码。 结构化程序设计方法 自顶向下逐步求精 模块化设计 三种基本结构:顺序、选择、循环,22,第6章 程序设计基础,6.3 顺序结构 顺序结构:程序执行时,按照语句的顺序,从上而下,一条一条地顺序执行 简单键盘输入语句 INPUT 提示信息 T0 内存变量 ACCEPT TO WAIT TO WINDOWS NOWAIT TIMEOUT 简单输出语句 ?/? 环境设置语句 CLEAR SET TALK ON|OFF NOTE /* /& ,23,第6章 程序设计基础,6.4 选择(分支)结构 单分支选择结构 IF ENDIF 双分支选择结构 IF ELSE ENDIF,语句序列,.T.,ENDIF,.F.,24,第6章 程序设计基础,6.4 选择(分支)结构 多分支选择结构 DO CASE CASE CASE OTHERWISE ENDCASE,25,循环变量在初值与终值之间?,FOR,初值赋给循环变量,执行循环体,循环变量循环变量步长,ENDFOR,第6章 程序设计基础,6.5 循环结构 FOR TO STEP ENDFOR/NEXT,26,第6章 程序设计基础,6.5 循环结构 DO WHILE ENDDO,条件表达式,执行循环体,DO WHILE,ENDDO,27,第6章 程序设计基础,6.5 循环结构 SCAN FOR ENDSCAN,范围内满足条件,语句组,SCAN,ENDSCAN,EOF(),28,第6章 程序设计基础,6.5 循环结构 EXIT语句:强制退出循环 LOOP语句:转去执行下一次循环,29,第6章 程序设计基础,6.6 过程 过程:将经常执行的功能对应的一段代码独立出来,创建一个过程或函数(代码量、维护) 过程存储方式 每一个过程保存在一个单独文件(.PRG)中 过程位于程序文件的最后 多个过程(函数)保存在一个.PRG文件(过程文件)中 过程的定义 PROCEDURE PARAMETER ENDPROC 调用过程:DO WITH 打开过程文件:SET PROCEDURE TO 关闭过程文件:SET PROCEDURE TO,30,第6章 程序设计基础,6.7 自定义函数(UDF) 函数 标准函数(VFP系统提供) 用户自定义函数(UDF) FUNCTION 函数名 语句组 return 表达式 ENDFUNC,31,第6章 程序设计基础,6.8 内存变量的作用域(有效使用范围) 全局变量:在所有程序模块中都有效 在命令窗口创建的变量和数组 PUBLIC 局部变量:在当前程序(过程)中有效 LOCAL 私有变量:在当前程序(过程) 及其子程序中有效 PRIVATE PRIVATE ALL LIKE | EXCEPT 在一个程序或过程中建立的内存变量,如果未加说明,自动成为私有变量。,32,第7章 面向对象程序设计,对象的属性、事件、方法 对象的分类:容器类对象、控件对象 引用对象 绝对引用:从容器的最高层次引用对象,给出对象的绝对地址 相对引用:在容器层次中相对于某个容器层次的引用,PARENT、THIS、THISFORM、THISFORMSET 设置对象属性: . = 值 例如ThisForm.Caption=“表单示例” 表单的常用属性 调用对象的方法程序:. 例如ThisForm.Cls 表单的常用方法,33,第7章 面向对象程序设计,表单:类似于Windows窗口中的各种标准窗口与对话框,包括很多控件。 表单保存后产生两个文件:表单文件.SCX、表单备注文件.SCT 与表单操作相关的命令: 创建表单:CREATE FORM FORM1 修改表单:MODIFY FORM FORM1 运行表单:DO FORM FORM1 表单向导:单表/一对多表单 表单设计器 各种工具栏/属性窗口/表单的数据环境 表单的修改/定制/常用属性/方法程序/事件,34,回顾:7.3 VFP的事件代码编写,VFP事件代码构成 VFP命令 属性设置语句 方法与事件的调用语句 VFP对象的分类 容器对象 控件对象 引用对象:绝对引用和相对引用 编程设置对象属性,例如ThisForm.Caption=“表单示例” 表单的常用属性 编程调用对象方法程序,例如ThisForm.Cls 表单常用方法,35,回顾:7.3 VFP的事件代码编写,编写事件代码,例如 Form1.Click代码(单击时触发) Thisform.Cls 表单常用事件 Load事件:在表单创建之前引发 Init事件:在表单创建时引发 RightClick事件:用鼠标右键单击表单时引发 Destroy事件:在表单对象释放时引发 Click:用鼠标左键单击表单时引发 DblClick:用鼠标左键双击表单时引发,36,第8章 表单控件,表单控件的常用属性、方法、事件以及它们的功能,掌握设计与生成工具,能快速建立和修改应用程序 输出类控件:标签、图像、线条、形状 输入类控件:文本框、编辑框、列表框、组合框、微调控件 控制类控件:命令按钮、命令按钮组、复选框、选项按钮组、计时器 多重容器类: Container容器、表格、页框 连接类控件,37,第9章 报表设计,常用命令 新建报表命令:create report 修改报表命令:modify report 输出报表命令:Report Form Preview|To Print 报表设计器的使用,重点掌握报表控件 报表向导的使用,.FRX,38,第10章 菜单设计,2种菜单(一般菜单和快捷菜单)的创建方法 创建菜单文件:Modify Menu 生成和执行菜单程序:do 恢复VFP系统的默认菜单:set SysMenu to Default,39,指导勘误,P114,题3,答案C P120,题1,答案B P122,题18,并传递变量P1,P2的值 P123,二,2,2) 生产商 字符型 10 P124,二,5 其中“文件”菜单项又包含 P124,三,1.,3);P132,三,1.,4),添加一个组合框对象,Name属性为Combo1 P126,一,8. 设当前数据表中 P131,三,1.,2),添加表grade P132,三,2.,1),设置List1的ColumnCount属性为2,RowSourceType属性为3-SQL语句,40,选择题,1 下列叙述中,( )是数据库系统的特点之一。 A) 数据结构化低 B) 数据独立性高 C) 数据冗余度高 D) 数据与程序依赖程度高,答案B,41,选择题,2 数据库系统的三级模式结构是对数据的三个抽象级别,数据库用户看到的视图称为( )。 A) 外模式 B) 概念模式 C) 内模式 D) 存储模式,答案A,42,选择题,3 设x=“k12“,y=“12k“,则表达式VAL(y)+VAL(x)的值为( )。 A) 24 B) 12kk12 C) 24.00 D) 12.00,答案D,43,选择题,4 设A=“123“,B=“234“,则下列表达式的运算结果为.F.的是( )。 A) NOT A=B OR B$“13579“ B) NOT A$“ABC“ AND AB C) NOT AB D) NOT A=B,答案C,44,选择题,5 下列关于表设计器的叙述中,正确的是( )。 A) 数据库表设计器与自由表设计器功能完全相同 B) 字段有效性规则只能在数据库表设计器中设置 C) 在数据库表设计器中,字段的默认值一旦设定,输入记录数据时,不能修改默认的值 D) 记录有效性规则与字段有效性规则的概念实际上是相同的,答案B,45,选择题,6 父表和子表建立了索引,在子表中与父表主码相联系的字段称为( )。 A) 主码 B) 辅助码 C) 外码 D) 索引码,答案C,46,选择题,7 在当前表尾部增加一条空记录,应该使用命令( )。 A) APPEND B) APPEND BLANK C) INSERT D) INSERT BLANK,答案B,47,选择题,8 下列( )不能作为查询的输出去向。 A) 浏览 B) 图形 C) 视图 D) 屏幕,答案C,48,选择题,9 创建多表查询时,数据表间的联接类型可分为( )。 A) 左联接、右联接、完全联接和内部联接 B) 左联接、右联接、完全联接和单向联接 C) 内部联接、外部联接、共享联接和独立联接 D) 左联接、右联接、内部联接和外部联接,答案A,49,选择题,10“图书“表有书号(C,6)、书名(C,30)、单价(N,6,2)等字段,要输出书名中含有“计算机“的各书信息,并且按书号升序排列,正确的SQL命令是( )。 A) select * from 图书 where 书名=“计算机“ order by 书号 B) select * from 图书 where “计算机“$书名 order on 书号 C) select * from 图书 where 书名 like “%计算机%“ order by 书号 D) select * from 图书 where at(“计算机“,书名)0 order on 书号,答案C,50,选择题,11表stu.dbf有学号、姓名等字段,表grade.dbf有学号、课程名、学时、成绩等字段,要查看每个学生的姓名和学时总数,正确的SQL命令是( )。 A) select xue.姓名,sum(学时) from stu,grade where stu.学号=grade.学号 group on 学号 B) select xue.姓名,sum(学时) from stu,grade where stu.学号=grade.学号 group by 学时 C) select 姓名,sum(学时) from stu,grade where stu.学号=grade.学号 group by 学号 D) select 姓名,sum(学时) from stu,grade where stu.学号=grade.学号 group on 学时,答案C,51,选择题,12 以下程序执行后,y的值是( )。 x=-2 y=.f. if x0 y=1 else if x=0 y=0 else y=-1 endif endif ?y,A) 1 B) .f. C) 0 D) -1,答案D,52,选择题,13 执行以下程序,显示结果为( )。 i=1 do while i=7 i=i+2 t=t+i enddo ? t,A) 8 B) 15 C) 9 D) 错误信息,答案D,53,选择题,14设有程序fun.prg如下,执行命令 do fun with 1,1,1 后,显示结果是( )。 parameters a,b,c a=a+1 b=b+2 c=a+b ?a,b,c,A) 2, 3, 5 B) 1, 1, 1 C) 1, 1, 5 D) 2, 1, 5,答案A,54,选择题,15下列叙述正确的是( )。 A) 用户可以根据需要定义自己的事件 B) 事件有带参数与不带参数的两种 C) 只有用户的动作才可以触发事件 D) 用户的一个动作只能触发一个事件,答案A,55,选择题,16下列关于表单事件的叙述中,正确的是( )。 A) 释放表单时,Unload事件在Destroy事件之前引发 B) 运行表单时,Init事件在Load事件之前引发 C) 单击表单的标题栏,引发表单的Click事件 D) 上面的说法都不对,答案D,56,选择题,17下列关于列表框的叙述中,正确的是( )。 A) 改变列表框的值一定触发Click事件,但不一定触发InteractiveChange事件 B) 改变列表框的值一定触发InteractiveChange事件,但不一定触发Click事件 C) 改变列表框的值,Click事件与InteractiveChange事件都会被触发 D) 改变列表框的值,Click事件与InteractiveChange事件都不会被触发,答案B,57,选择题,18要引用表格控件Grid1第二列的列标题,下列式子正确是( )。 A) Thisform. Grid1.Column2.Caption B) Thisform. Grid1.Column2.Header1.Caption C) Thisform. Grid1.Column2.Text1.Value D) Thisform. Grid1.Column2.Value,答案B,58,选择题,19不能使表格控件Grid1显示grade表的所有记录的代码段是( )。 A) Thisform.Grid1.RecordSourceType = 0 Thisform.Grid1.RecordSource = “grade“ B) Thisform.Grid1.RecordSourceType = 1 Thisform.Grid1.RecordSource = “grade“ C) Thisform.Grid1.RecordSourceType = 3 Thisform.Grid1.RecordSource = “select * from grade into cursor temp1“ D) Thisform.Grid1.RecordSourceType = 4 Thisform.Grid1.RecordSource = “select * from grade into cursor temp1“,答案C,59,选择题,20在报表设计器中,为添加作为数据源的表,应打开( )。 A) 数据环境设计器 B) 表单设计器 C) 表设计器 D) 查询设计器,答案A,60,操作题,注:若无具体说明,文件所在文件夹均为考生文件夹。 1、建立项目 创建项目 UNISTU.pjx,添加自由表 TEACHER.dbf,并在项目中建立第3小题的查询CJCX.qpr。,61,操作题,注:若无具体说明,文件所在文件夹均为考生文件夹。 2、数据库操作 1) 创建数据库STCJ.dbc,添加表STUDENT.dbf和GRADE.dbf。 2) 对表STUDENT.DBF完成如下操作: 修改“专业“字段的宽度为12; 按学号建立名为“学号“的升序主索引; 追加如下记录: 99004 黄伟 .T. 10/09/81 电子 3) 在STUDENT表和GRADE表之间以“学号“字段建立一对多的永久关系。,62,操作题,注:若无具体说明,文件所在文件夹均为考生文件夹。 3、查询设计 用查询设计器建立查询CJCX.QPR,从表COURSE.dbf和TEACHER.dbf中查询学分为3的课程基本信息,显示字段依次为课程名称、课时、教师姓名和职称,以两表中的课程号进行内部联接,并按课程名称升序输出。,63,操作题,注:若无具体说明,文件所在文件夹均
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 足球传接球 教学设计-2023-2024学年高一上学期体育与健康人教版必修第一册
- 第1课 彩虹出现-渐变工具的使用说课稿-2025-2026学年初中信息技术辽师大版2015八年级上册-辽师大版2015
- 5.1 分式的意义教学设计-2025-2026学年初中数学浙教版2024七年级下册-浙教版2024
- 5.5 线性规划问题的应用举例说课稿-2025-2026学年中职基础课-职业模块 财经、商贸与服务类-高教版-(数学)-51
- 二年级语文下册 课文3 11 我是一只小虫子第1课时说课稿 新人教版
- 2025年标准员考试题库及答案
- 2025年海口市滨海第九小学四年级第七单元测试数学试卷新课
- 2025年北京社区考试题库及答案
- 第12課 夏休みの思い出 教案2024-2025学年初中日语人教版七年级第一册
- 2025办公大楼租赁合同范本
- 2025年彩票技术管理员招聘笔试模拟题
- 迷彩九月+启航青春+课件-2025-2026学年高一上学期开学军训动员主题班会
- 2025年暑期教师研修心得-研修蓄力笃行致远
- 2025秋人教版初中数学九年级上册教学计划及进度表
- 2025年中国烟花爆竹协会烟花工艺师认证考试专项练习含答案
- 2025年政府会计准则制度实施能力考试(气象事业单位)高频错题及答案
- 2024年陕西事业单位联考A类综合应用能力试题及答案
- 河北省大厂回族自治县2025年上半年事业单位公开招聘教师岗试题含答案分析
- 人教版物理九年级全一册16.1《电压》听评课记录
- (2025年标准)被迫堕胎补偿协议书
- 咸阳赤壁市事业单位招聘笔试真题2024
评论
0/150
提交评论