《VFP语言程序设计》教学大纲
总学时数: 讲授课: 实验课:
适合专业:
一、 课程内容
第一章 Visual FoxPro 6.0概述
了解: 1. Visual FoxPro6.0的发展过程
2. VFP6.0的功能
3. VFP6.0系统的软硬件环境
4. VFP6.0系统的安装
5.VFP6.0中文版的性能指标
6. VFP6.0文件组成
掌握:1.基本概念:数据库,数据模型,数据库管理系统。
2.关系数据库:
(1)关系数据库:关系模型、关系模式、关系、元组、属性、域、主关键字和外部关键字。
(2)关系运算:投影、选择、联接。
3.Visual FoxPro系统特点与工作方式:
(1)Windows版本的数据库特点。
(2)数据类型和主要文件类型。
(3)各种设计器和向导。
(4)工作方式:交互方式(命令方式、可视化操作)和程序运行方式。
4.Visual Foxpro的基本数据元素:
(1)常量、变量、表达式。
(2)常用函数:字符处理函数、数值运算函数、日期时间函数、数据类型转换函数、测试函数。
重点:关系数据库基本概念;Visual Foxpro的基本数据元素;工作方式。
难点:Visual Foxpro的基本数据元素
第二章 数据库与表的操作
了解:数据库、数据表、记录、字段的概念
掌握:1. 数据库的建立
2. 建立自由表
3. 编辑表中的数据
4. 筛选表记录
重点:表操作
难点:操作命令方式
第三章 数据索引与查询
了解: 1. 创建和编辑关系
2. 建立参照完整性规则
3. 使用多个数据库
掌握: 1. 建立索引
2.数据库的设计
3. 数据库中表的操作
4. 字段与记录属性设置
重点:索引建立与应用;数据库的设计
难点:建立参照完整性规则
第四章 程序设计
掌握: 1. 命令文件的建立与运行
2. 顺序结构程序设计
3. 分支结构程序设计
4. 循环结构程序设计
5.过程及其调用
重点: 分支结构程序设计,循环结构程序设计,模块化程序设计。
难点:模块化程序设计。
第五章 查询与视图
了解: 1. 查询与视图的概念
2. 结构化查询语言SQL简介
掌握: 1.查询文件的建立、执行与修改。
2.视图文件的建立、查看与修改。
3.建立多表查询。
难点:查询文件的建立、执行与修改。
难点:建立多表查询。
第六章 设计报表
了解: 标签文件的建立
掌握: 1.生成快速表。
2.修改报表布局。
3.设计分组报表。
4.设计多栏报表。
重点:设计报表。
难点:报表分组
第七章 表单设计
了解:面向对象程序设计基本知识
掌握: 1. 用表单向导设计表单
2. 用表单设计器设计表单
3. 用表单生成器设计表单
4. 向表单中添加控件
5. 修饰表单
重点:表单中控件对象的设置。
二、作业内容
作业1 基本概念题若干
作业2 上机题若干
三、实验内容
《VFP程序设计》教学大纲说明
一、 本课程的性质和任务
《VFP程序设计》是一门非信息类专业课程,Visual FoxPro 6.0是当今最流行的数据库管理系统开发软件,采用可视化编程技术,为用户提供了众多的向导、向导、生成器及面向对象的编程方法。该课程侧重于数据库的基本概念、数据库的基本操作、数据查询语言、简单的程序设计、菜单程序设计、报表设计以及必须掌握的表单设计。侧重于计算机对数据的基本处理、数据查询(SQL)、表单的数据输出等,使学生具备一定的面向对象程序设计的能力。
二、 课程教学目标
具有使用计算机高级语言解决基本问题的能力,掌握计算机对数据处理的方法和掌握计算机对数据处理的基本操作技能。能编制简单的程序解决数据处理的问题,掌握程序设计的基本方法。
了解数据库的基本原理和数据库与数据库管理系统的关系,了解Visual FoxPro的基本性能指标,掌握数据库的基本使用方法。
掌握数据库的基本统计和数据库记录的查询。特别是数据查询语言(SQL)
掌握程序设计的三种方法和简单的程序设计。
掌握表设计器、查询设计器、菜单设计器、表单设计器、报表设计器,对菜单设计,只要求掌握屏幕菜单方式和屏幕生成程序,对命令方式只做基本的了解。
三、 本课程的重点和难点
重点:
1、数据模型、数据库管理系统及关系型数据库。
2、 变量及其数据类型,表达式,函数,VFP应用开发环境、项目管理器
3、数据库、表的基本操作。
4、用SQL-SELECT命令实现查询,用查询设计器建立查询文件和本地视图的基本操作。
5、分支、循环结构,过程、自定义函数的定义与调用,变量的作用域、参数传递。
6、对象、属性、方法、事件、事件代码,表单的设计与创建,事件代码的编写。
难点:
1、 数据模型。
2、表达式的应用,函数(参数、返回值的类型)。
3、表的索引、数据完整性设置和多表操作。
4、用SQL-SELECT命令实现查询。
5、过程调用,变量的作用域、参数传递。
6、事件代码编写。
四、 考核方法
采用百分制
笔试占60%(闭卷),平时(出勤、作业)占40%。
五、 学时分配
六、 教材及主要参考书
《Visual FoxPro 6.0简明教程》魏绍谦 陈万里 高等教育出版社
《VISUAL FoxPro 6.0 开发实例》 张治文等 清华大学出版社
《Visual FoxPro 6.0程序设计与应用》 章立民 中国铁道出版社
《Visual FoxPro及其应用系统开发》 史济民等 清华大学出版社
编写:计算机教研室
(执笔: )
审核:
批准:
二○ 年 月 日
第二篇:高级语言程序设计教学大纲-VFP
当前位置: THEOL网络教学综合平台 > <<Visual Foxpro程序设计>>
《Visual Foxpro程序设计》
《高级语言程序设计B》教学大纲
课程编号:1002282
总学时:56学时(含上机24学时)
适用专业:全院管理类所有本、专科专业
教学时数:总教学时数 56H ,其中理论教学 32 H, 实验教学 24H
学分:3
一、教 学 内 容
1、数据库基本知识
①数据库的特点;
②数据库系统分代;
③数据库系统的分类;
④Visual FoxPro的界面、工作方式及主要技术指标; 5 Visual FoxPro的命令概述、结构、书写规则等
2、VFP数据及其运算
①VFP数据类型;
②VFP的常量和变量;
③VFP常用函数;
④VFP表达式;
3、表及数据库的基本操作
①表及数据库的建立:设计结构、建立结构、修改结构、表的添加及删除
②表的显示及其维护:打开及关闭、显示、修改、定位指针、增加和删除、复制
③表的排序和索引;
④表的统计与计算;
⑤多表的操作:工作区、表的关联、表的连接
4、SQL语言的使用
①数据的定义:建立表的结构、删除表、修改表的结构 ②数据查询:基本查询、条件查询、嵌套查询、多表查询、连接查询、查询结果的处理
③数据操纵:插入记录、删除记录、更新记录;
5、结构化程序设计
①程序设计基础:程序的建立、修改、执行;
②基本程序设计结构:顺序、分支、循环程序设计; ③子程序、过程、函数;
6、菜单设计
①下拉式菜单设计:建立菜单文件、生成菜单文件、运行菜单文件
②快速菜单
7、表单设计基础
① 表单的建立与运行:表单设计器、表单向导、运行表单 ② 表单的操作:属性、方法、事件、数据环境及其与表单控件的联系
③ 常用表单控件:命令(组)、文本、编辑、复选、单选、组合、微调、列表、表格等按钮
④ 表单的应用:设计简单的表单
⑤ 为顶层表单添加表单
8、报表设计
①打印基础。打印准备、打印方法、打印命令
②传统的打印设计
③报表设计器的基本操作(打开标本设计器窗口、快速制表、标本打印)
④报表设计器的高级操作,了解
9、数据库系统开发实例(对本科做基本的讲解) ①开发的基本步骤
2以具体的实例进行讲解
二、《高级语言程序设计B》大纲说明
1、教学目的与任务
在当今时代,计算机已经在世界范围内得到广泛的推广和应用。其中信息管理和数据处理已成为计算机应用的主流领域,而数据库技术是这个领域的核心之一。
Visual FoxPro系统是一个优秀的多用户关系数据库管理系统。本课程详细地讲解了Visual FoxPro的各种命令、函数的功能,以及Visual FoxPro程序设计的方法, 培养学生能灵活地应用Visual FoxPro 语言设计程序、进行维护管理,充分发挥计算机在信息管理和数据处理方面的优越性。
《高级语言程序设计B》是面向全院所有专业本、专科生的计算机高级语言程序,它侧重于数据库的基本概念、数据库的基本操作、数据查询语言、简单的程序设计、菜单程序设计、报表设计以及必须掌握的表单设计。侧重于计算机对数据的基本处理、数据查询(SQL)、表单的数据输出等,使学生具备一定的面向对象程序设计的能力,为学生利用计算机解决问题(特别是专业中的问题)准备必要的知识;本大纲重点基于数据库的基本操作和简单的程序设计,为学生学习相应的语言打下一定的基础。
2、本课程与其他课程的关系
学习本课程,需要有一定的计算机基本操作技能,对计算机有一定的了解和使用。它是学 要求学生掌握计算机高级语言以及对计算机对数据处理方式和方法的掌握。为学习今后
学习计算机解决问题和高年级学习专业课打下坚实的基础。
3、教学基本要求
具有使用计算机高级语言解决基本问题的能力,掌握计算机对数据处理的方法和掌握计算机对数据处理的基本操作技能。要求学生学习了本课程后,能编制简单的程序解决数据处理的问题,掌握程序设计的基本方法。
了解数据库的基本原理和数据库与数据库管理系统的关系,了解Visual FoxPro的基本性能指标,掌握数据库的基本使用方法。
掌握数据库的基本统计和数据库记录的查询。特别是数据查询语言(SQL)
掌握程序设计的三种方法和简单的程序设计,这是全书的重点。
掌握表设计器、查询设计器、菜单设计器、表单设计器、报表设计器,对菜单设计,只要求掌握屏幕菜单方式和屏幕生成程序,对命令方式只做基本的了解。
4、实验课程
附实验大纲,按实验大纲的要求完成实验。
5、课程学时安排
学时安排遵循理论重于实践,理论课的学时分配占总学时的66%,实验课的操作,要求严格按照实验大纲,以循序渐进的方式进行,如果学生没有完成当天实验课程的任务,学生可以自
《高级语言程序设计(Visual FoxPro)》实验教学大
纲
计算机基础教研室
适用专业:全院所有本专科专业
实验类别:基础实验
总实验学时:24
实验次数:本专科 12次
应开实验个数:12
已开实验个数:12
实验开出率:100%
实验一常用函数的使用
实验目的:熟悉和掌握FoxPro常用函数的使用。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
依次键入下列操作命令并仔细观察各个函数的执行结果,熟悉掌握各函数的用法。
说明:exp---代表表达式,expN---代表数值表达式,expC---代表字符表达式,expL---代表逻辑表达式,expD---代表日期表达式
注意:在Visual FoxPro环境下,命令中的标点符号只能为英文标点,如逗号(,),括号([ ])等。
一、常用数学运算函数
1、取整函数INT(expN)和四舍五入函数ROUND(expN1,expN2)
功能:INT(expN) 返回数值表达式的整数。ROUND(expN)返回指定数值表达式位置进行四舍五入的结果。expN2指明四舍五入的位置,若expN大于零,那么表示的是要对小数进行保留的位置,若expN小于零,那么表示的是整数部分的舍入的位置。
?INT(12.9),INT(-7.6),INT(12.45),INT(-7.25) ?ROUND(1234.5267,2),ROUND(1234.5267,1),
ROUND(1234.5267,-1)
2、绝对值函数ABS(expN)
功能:返回expN的绝对值
?ABS(20),ABS(-20)
3、求平方根函数SQRT(expN)
功能:返回expN的绝对值
?SQRT(48.5*48.5),SQRT(64)
4、指数函数EXP(expN)
功能:返回expN的以e为底的指数
?EXP(1),EXP(-1)
5、对数函数LOG(expN)、LOG10(expN)
功能:LOG(expN)表示以e为底的对数函数,LOG10(expN)表示以10为底的对数函数
?LOG(3),LOG10(1000),LOG(0.23),LOG10(0.23)
6、求最大值MAX(exp1,exp2,exp3...)和最小值
MIN(exp1,exp2,exp3...)函数
功能:MAX( )计算各自表达式的值,并返回其中的最大值 MIN( )计算各自表达式的值,并返回其中的最小值 ?MAX(59,35,28),
MAX(“2”,”12”,”05”),MAX(“男”,”女”)
?MIN(59,35,28),MIN(“汽车”,”飞机”,”轮船”)
7、随机函数RAND(expN)
功能:当exp为小于或等于零的数值时,每次运行的结果都不一样,且在0~1之间的一个小数,当exp为大于零的数值时,每次运行的结果都一样,且在0~1之间的一个小数。
?RAND(1)
?RAND( )
?RAND(-1)
?RAND( 2)
?RAND(2 )
8、符号函数SIGN(expN)
功能:SIGN() 返回指定数值表达式的符号,当表达式的运算结果为正、负、零时,函数值分别为1、-1、0
?SIGN(-234),SIGN(0),SIGN(2345)
9、圆周率函数PI( )
功能:返回圆周率π(数值型)
?pi()
10、余数函数MOD(expN1, expN2)
功能:返回两个数值相除后的余数。ExpN1是被除数,ExpN2是除数。余数的正负号与除数相同,如果被除数与除数同号,那么函数值为两数相除的余数;如果被除数与除数异号,则函数的值为两数相除的余数再加上除数的值。
?MOD(10,3), MOD(10,-3), MOD(-10,3) MOD(-10,-3)
二、字符串操作函数
1、宏替换函数&MexpC
功能:一是替换字符型内存变量的值,二是将数值型字符转换为数值型数据。如果该函数与其后的字符无明确分界,则要用“.”作函数结束标识。
C2=“Computer”
C1=“2”
C=“c&c1”
?&C1.2*3,&C
2、求子字符位置函数AT(expC1,expC2)
功能:AT( )的函数值为数值型,如果expC1是expC2的子串,则返回expC1值的首字符在expC2中的位置;若不是子串,则返回0。
?AT(“345”,123456”),AT(“5”,”12367”)
?AT(“abc”,”ABCDE abcde”),AT(“abc”,”ABDCE abdce”)
3、取子字符串函数LEFT(expC,长度),RIGHT(expC, 长度),SUBSTR(expC,起始位置,长度)。
功能:LEFY( )从指定字符表达式的左边取一个指定长度 X=“MicroSoft FoxPro2.6”
?LEFT(X,9),RIGHT(X,10),SUBS(X,11,6)
4、空格字符串生成函数SPACE(<数值表达式>)
功能:返回由指定数目的空格组成的字符串。
5、删除前后空格函数TRIM(expC)、
LTRIM(expC)、 ALLTRIM(expC)
功能:TRIM()返回指定字符表达式值去掉尾部空格后形成
的字符串。
LTRIM()返回指定字符表达式值去掉前导空格后形成的字符串。
ALLTRIM()返回指定字符表达式值去掉前导和尾部空格后形成的字符串
STORE SPACE(1)+"TEST"+SPACE(3) TO SS
?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)
?LEN(SS),LEN(TRIM(SS)),LEN(LTRIM(SS)),
LEN(ALLTRIM(SS))
6、取子串函数LEFT(expC,长度)、RIGHT(expC,长度)、 SUBSTR(expC,<起始位置>[,<长度>] )
功能:LEFT( )从指定表达式值的左端取指定长度的子串。
RIGHT( )从指定表达式值的右端取指定长度的子串。 SUBSTR( )从指定表达式值的指定起始位置取指定长度的子串。如果缺省第三个自变量<长度>,则函数从指定位置一直取到最后。
STORE "GOOD BYE!” TO X
?LEFT(x,2),SUBSTR(x,6,2)+SUBSTR(x,6),RIGHT(x,3) GO BYBYE! YEl
7、计算子串出现次数函数OCCURS(expC1,expC2)
功能:返回expC1在expC2中出现的次数,函数值为数值型。若expC1不是expC2的子串,函数值为00。
STORE ’abracadabra’ TO s
?OCCURS(’a’,s),OCCURS(’b’,s),OCCURS(’c’,s),OCCURS("e",s)
8、求字符串长度LEN(expC)
功能:返回指定字符串的长度。
?LEN(“MicroSoft FoxPro2.6”),LEN(SPACE(10)),LEN(SUBS(“AABBCCDD”,6))
9、删除字符串前后空格函数TRIM(expC)、LTRIM(expC)、ALLRIM(expC)
功能:TRIM( )返回指定字符串去掉尾部空格后的字符串 LTRIM( ) 返回指定字符串去掉前导空格后的字符串、
ALLTRIM( ) 返回指定字符串去掉前导和尾部空格后的字符串
A=“AB”
B=SPACE(4)+”CDEF”+SPACE(4)
?A+LTRIM(B)+A,A+RTRIM(B)+A
?A+TRIM(B)+A,A+ALLTRIM(B)+A
10、大小写转换函数LOWER(expC)、UPPER(expC)
功能:LOWER( )将指定表达式中的大写字母转化为小写字母,其它不变
UPPER( )将指定表达式中的小写字母转化为大写字母,其它不变
A=“Information Management System”
?LOWER(A),UPPER(A)
11、字符串匹配函数LIKE(expC1,expC2)
功能:比较两个字符串对应位置上的字符,若所有对应字符都匹配,函数返回逻辑值真,否则为假。ExpC1可以包含统配符。
X=”abc”
Y=abcd”
?LIKE(“ab*”,X)、LIKE(“ab*”,Y)、LIKE(X,Y)、LIKE(“ABc”,X)
日期函数
三、日期和时间函数
日期和时间函数的自变量一般是日期型数据或日期时间型数据。
1、系统日期DATE( )和时间函数TIME( )、DATETIME( ) 功能:DATE( )返回当前系统日期
TIME( )以24小时制,以hh:mm:ss格式返回当前系统时间,函数值为字符
DATETIME( )返回当前系统日期时间,函数值为日期时间型。
?DATE( ),TIME( ),DATETIME( )
2、求年份YEAR(expD)、月份MONTH(expD)和天数DAY(expD)函数
功能:YEAR( )从指定的日期(时间)表达式表达式中返回年份。
MONTH( )从指定的日期(时间)表达式表达式中返回月份。
DAY()从指定的日期(时间)表达式中返回月里面的天数。
这三个函数的返回值都为数值型。
STORE {^2001-08-18} TO d
?YEAR(d),MONTH(d),DAY(d)
3、时HOUR(<日期时间表达式>)、分MINUTE(<日期时间表达式>)和秒SEC(<日期时间表达式>)函数
功能:HOUR( )从指定的日期时间表达式中返回小时部分(24小时制)。
MINUTE( )从指定的日期时间表达式中返回分钟部分。 SEC( )从指定的日期时间表达式中返回秒数部分。 这三个函数的返回值都为数值型。
STORE {^2001-03-18 02:30:50P} TO t
?HOUR(t),MINUTE(t),SEC(t)
四、转换函数
1、求字符串中的第一个字符的ASCII码值ASC(expC) ?ASC(“ABC”),ASC(“abc”)
2、将十进制数转换为相对应的ASCII码字符CHR(expC)。 ?CHR(66),CHR(65.89),CHR(65+32)
3、数值转换成字符串STR(expN[,<长度>[,<小数位数>]]) 功能:将expN的值转换成字符串,转换时根据需要自动进行四舍五入。如果<长度>值大于expN的所有位数,则字符串加前导空格以满足规定的<长度>要求;如果<长度>值大于等于expN值的整数部分位数(包括负号)但又小于所有位数,则优先满足整数部分而自动调整小数位数;如果<长度>值小于expN值的整数部分位数,则返回一串星号(*)。<小数位数>的默认值为0,<长度>的默认值为10。
N=-123.456
?”n=”+STR(n,8,3)
?STR(n,9,2),STR(n,6,2),STR(n,3),STR(n,6),STR(n) ?STR(1234.56,7,2),STR(1234.56,6,2),STR(1234.56,5,2)
?STR(1234.56,4,2),STR(1234.56,7),STR(1234.56,6) ?STR(1234.56,5),STR(1234.56,4),STR(1234.56,3)
4、字符串转换成数值VAL(expC)
功能:将由数字符号(包括正负号、小数点)组成的字符型数据转换成相应的数值型数据。若字符串内出现非数字字符,那么只转换前面部分;若字符串的首字符不是数字符号,则返回数值零,但忽略前导空格。
STORE "-123" TO x
STORE "45" TO y
STORE ’A45’ TO z
?VAL(x+y),VAL(x+z),VAL(z+y)
?VAL(“123.45A”),VAL(“123.4A5”),
VAL(“123.A45”)
?VAL(“12A3.45”),VAL(1A3.45”),VAL(“A123.45”)
5、字符串转换成日期CTOD(expC)或日期时间CTOT(expC) 功能:CTOD()将expC转换成日期型数据。
CTOT()将expC转换成日期时间型数据。
SET DATE TO YMD
SET CENTURY ON &&显示日期或日期时间时,用4位数显示年份
D1=CTOD(“2002/10/14”)
T1=CTOD(“2002/10/14”)+TIME( )
?D1,T1
4、日期或日期时间转换成字符串
DTOC(expD|expDT)、 TTOC(expDT)(expDT表示日期时间型数据)
功能:DTOC()将日期(时间)型数据日期部分转换成字符串。
TTOC()将日期时间数据转换成字符串。
STORE DATETIME() TO t
?DTOC(t),TTOC(t)
五、测试函数
1、值域测试函数BETWEEN(exp1,exp2,exp3)
功能:判断一个表达式的值是否介于另外两个表达式的值之间。当exp1值大于等于exp2且小于等于exp3时,函数值为逻辑真(.t.),否则函数值为逻辑假(.f.)。如果exp2或exp3有一个是NULL值,那么函数值也是NULL值。
X=.NULL.
Y=100
?VARTYPE(X), VARTYPE(Y), VARTYPE(Z)
5、文件尾测试函数EOF(工作区号|表别名)
功能:当指针指向表文件尾为真,否则为假。
6、文件头测试函数BOF(工作区号|表别名)
功能:当指针指向表文件头为真,否则为假
7、记录号测试函数RECNO(工作区号|别名)
功能:返回当前表文件中或指定文件中的记录号。
8、记录数测试函数RECCOUNT(工作区号|表别名) 功能:返回当前表文件或指定表文件中的记录数
9、记录删除函数DELETED(工作区号|表别名)
功能:返回当前记录是否做了删除标记,是则为真,否则为假。
实验二数据库及表的建立、数据的录入等基本操作
实验目的:熟悉和掌握数据库文件的建立、数据的录入、数据的追加和插入操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
一、建立数据库文件person.dbc,要求至少用两种方法建立。
二、建立表hd.dbf,表的结构和数据如下所示。
表文件结构:
字段名 类型 宽度 小数位数 货号 字符型 6
品名 字符型 8
进口 逻辑型 1
单价 数值型 7 2
数量 数值型 2 0
开单日期 日期型 8
生产单位 字符型 16
备注 备注型 4
商标 通用型 4
记录数据:
货号 品名 进口 单价 数量开单日期生产单位 备注 商标 LX-750 影碟机 T 5900.00 4 96/08/10 松下电器公司 YU-120 彩电 F 6700.00 4 96/10/10 上海电视机厂 AX-120 音响 T 3100.00 5 95/10/11 日立电器公司 DV-430 影碟机 T 2680.00 3 96/09/30 三星公司 从96年9月1日起调价
FZ-901 取暖器 F 318.00 6 96/09/05 富利电器厂 LB-133 音响 T 4700.00 8 95/12/30 索尼公司 SY-701 电饭锅 F 258.00 10 96/08/19 爱德电器厂 本产品属改进型
NV-920 录放机 T 1750.00 6 96/07/20 先锋电器公司
操作要求:
1、建立库文件hd.dbf的文件结构后,立即输入前面6个记录的数据,其中商标字段的数据由自己自行在Windows环境下选择两个图标分别输入。随后存盘退出。
2、重新打开库文件hd.dbf,并分别查看它的文件结构与记录数据,包括其中的备注字段与商标字段的数据。
3、在hd.dbf中再添加后两个记录数据,添加结束后在分别用Browse方式、Change方式查看库文件的记录数据。
4、试用Browse选单项中的各个功能以观察库文件的多种显示形式。
三、在数据库设计器中建立自由表bmdm.dbf(table) 表文件结构:
字段名 类型 宽度 小数位数 部门号 字符型 2
部门名 字符型 8
记录为:
部门号 部门名
11 办公室
12 设备科
21 一车间
22 二车间
23 三车间
四、将自由表bmdm.dbf 加入到数据库person.dbc中
实验三内存变量及表的基本操作
实验目的:熟悉和掌握内存变量的建立、显示、保存,数据库记录的显示操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
一、依次键入下列操作命令并观察各个函数的执行结果。 x1=8 * 4
x2="pqr"
xy=.t.
xz={96/12/30}
LIST MEMORY LIKE x?
SAVE TO f1 ALL LIKE x?
RELEASE x1,x2
LIST MEMORY LIKE x?
RESTORE FROM f1
LIST MEMORY LIKE x?
USE hd &&实验二建立的表
LIST FOR SUBSTR(品名,1,4)="影碟"
LIST FOR RIGHT(品名,2)="机"
LIST FOR "电"$品名
LIST FOR AT("电",品名)<>0
二、在hd.dbf中,把符合下列要求的记录数据依次显示出来。
1、显示第5个记录;
2、第3个记录开始的共5个记录;
3、把第3个记录到第5个记录显示出来;
4、显示数量少于5的货号、品名与生产单位;
5、显示进口商品或95年开单的商品信息;
6、显示全部国产商品信息;
7、显示单价大于4000的进口商品信息或单价大于5000的国产商品信息;
8、列出95年开单的货号、品名、单价与开单日期,其中单价按9折处理;
9、列出单价小于2000以及单价大于5000的进口商品信息;
10、把从第3个记录开始的所有国产商品信息显示出来;
11、列出货号后3位为“120”的全部商品信息;
12、列出货号的第一个字母为“L”或者第二个字母为“V”的全部商品信息;
13、列出生产单位为“公司”且单价大于3000的所有商品信息。
实验四表文件结构、记录及磁盘文件的操作
实验目的:熟悉和掌握数据库文件结构的修改、数据库文件记录的删除、磁盘文件的操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
一、生成hd.dbf的备份文件j1.dbf,并修改j1.dbf的文件结构与记录数据。
其操作包括:
1、把“数量”字段的宽度由2改为3;
2、把“货号”字段名改为“编号”,宽度由6改为5;
3、在“数量”字段之后插入下面字段;
字段名 类型 宽度 小数 总价 N 9 2
4、删除名为“生产单位”的字段;
5、列出j1.dbf的文件结构与记录数据,并观察经修改后的变化情况;
6、把库文件j1.dbf中的总价字段值用单价*数量进行替换;
7、在第3个记录之后插入一个空记录,并自行确定一些数据用REPLACE命令将它们填入该空记录中;
8、在第3个记录与第7个记录上分别加上删除标记;
9、撤消第3个记录上的删除标记并把第7个记录从库文件中抹去;
10、把hd.dbf的全部记录数据添加到j1.dbf中去,并查看经添加后的记录内容;
11、用SCATTER与GATHER命令对库文件j1的第3个记录
作如下要求的修改:
将单价由3100.00改为3500.00,在备注字段中填入内容:“新产品提价”。
二、对库文件hd.dbf进行如下要求的复制:
1、原样复制hd.dbf的文件结构,并把复制后的库文件结构显示出来;
2、复制一个仅有货号、品名、单价、数量等4个字段的库文件结构hd1.dbf;
3、将hd.dbf原样复制为库文件b1;
4、复制具有货号、品名、数量、生产单位等4个字段的库文件b2;
5、从第2个记录到第6个记录中把单价不小于3000的进口商品复制为库文件b3;
6、将96年1月1日及以后开单的商品复制为库文件b4;
7、把库文件hd.dbf按系统数据格式复制为文本文件kk.txt,再把kk.txt中的数据添加到库文件b3中去;
8、不用全屏幕操作,在b1.dbf的文件结构中添加一个字段名为“进货人”,类型为C,宽度为6的字段,并要求仍然保存b1的原有数据。
三、进行下列要求的磁盘文件操作:
1、列出当前盘当前目录下的全部库文件目录及所有的文件目录;
2、把库文件hd.dbf原样复制成新库文件dd.dbf与hh.dbf;
3、把库文件dd改名为dh,然后打开dh,观察其记录内容;
4、把hh.dbf及其备注文件同时删去;
5、列出文本文件kk.txt内容。
实验五 表的索引、多表的关联及其排序等操作
实验目的:熟悉和掌握数据库文件的建立排序和索引文件。 实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
一、建立自由表SB.DBF,它的结构和记录分别为:
文件结构:
字段名 类型 宽度 小数位数
编号 字符型 5
名称 字符型 6
启用日期 日期型 8
价格 数值型 9 2
部门 字符型 6
主要设备 逻辑型 1
备注 备注型 4
商标 通用型 4
记录数据:
编号 名称 启用日期 价格 部门主要设备备注 商标 016-1 车床
97/03/05 62044.51 21 .T. Memo Gen
016-2 车床
99/01/15 27132.73 21 .T. Memo Gen
037-2 磨床
97/11/02 274561.51 22 .T. Memo Gen
038-1 钻床 96/04/25 8804 23 .F. Memo Gen 100-1 微机 97/07/05 10044 12 .T. Memo Gen 101-2 复印机 97/05/021
12044.51 12 .F. Memo Gen
210-1 轿
车 97/10/12 162044.51 11 .F. Memo Gen
分别排列:
1、将价格超过10000元的设备按部门升序排列,并要求新文件只包含编号、名称、价格、部门等四个字段。
2、将主要设备按名称降序排列,当名称相同时则按启用日期降序排列。
二、为SB.DBF建立一个结构复合索引文件,其中包括三个索引:
1、记录以编号降序排列。
2、记录以名称降序排列,名称相同时则按启用日期降序排列。
3、记录以部门降序排列,部门相同时则按启用日期升序排列。
三、分别用顺序查询19xx年起用的非主要设备和索引查询19xx年起用的设备。
四、将表sb.dbf和bmdm.dbf添加到数据库person.dbf中,在数据库设计器中分别设置两个表以部门和代码为主索引,然后将两个表建立一对一的关联
实验六 关系数据库标准语言SQL的基本操作
实验目的:熟悉和掌握关系数据库标准语言SQL的基本操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
一、建立数据库及其表,对每个表请输入至少5条记录。 请首先建立定货管理数据库,在该数据库中建立四个表,并建立仓库和职工表之间,职工和订购单表之间,供应商和订购单之间的一对多的联系,各表的字段及其关键字如下:
仓库表:仓库号、城市、面积,以仓库号为主索引
职工表:仓库号、职工号、工资,以职工为主索引,仓库为普通索引
供应商表:供应商号、供应商名、地址,以供应商号建立主索引
订购单表:职工号、供应商号、订购单号、订购日期,以订购单号建立主索引,以职工号、供应商号为普通索引
二、用SQL完成以下查询
1、检索在北京的供应商的名称。
2、检索出向供应商S3发过订购单的职工的职工号和仓库号。
3、检索出和职工E1、E3都有联系的北京的供应商信息。
4、检索出向S4供应商发出订购单的仓库所在的城市。
5、检索出由工资多于1230元的职工向北京的供应商发出的订购单号。
6、检索出所有仓库的平均面积。
7、检索出每个仓库中工资多于1220元的职工个数。
三、用SQL语句完成以下更新操作:
1、插入一个新的供应商元组(S9,智通公司,沈阳)。
2、删除目前没有任何订购单的供应商。
3、删除由在上海仓库工作的职工发出的所有订购单。
4、北京的所有仓库增加100m2的面积。
5、给低于所有职工平均工资的职工提高5%的工资。
实验七 查询与视图的基本操作
实验目的:熟悉和掌握关系数据库标准语言SQL的基本操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
实验所用的表仓库、职工、订购、供应商在实验六已经建立,且他们的相互关系也已经建立,方法可像实验六所示。如没有相应的表及其联系,请先建立。
一 、利用查询设计器建立一个含有仓库号、职工号、城市和工资信息的查询。
二、利用查询设计器建立一个含有仓库号、职工号、城市和年工资信息的查询。
三、利用查询设计器建立一个含有仓库号、职工号、城市、工资和年工资信息的查询,要求按仓库号升序、职工号降序。
四、利用查询设计器建立一个含有仓库号、年工资,以职工.仓库号进行分组的查询
五、建立一个具有仓库.仓库号、仓库.城市、职工.职工号、职工.工资的视图文件,请利用视图设计器完成。
实验八 程序设计----顺序程序设计
实验目的:熟悉和掌握最基本的循环程序设计。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
一、建立表XSCJ.DBF,有字段:学号(C4前两位表示年份,第3、4位为专业代码。)、FOXPRO(N3)、课程号(C3)、姓名(C8)等字段,并输入5条以上记录,请编写程序TEST1.PRG分别统计所有学生和20xx年入学,专业代码为03的学生选修课程号为101课程的FOXPRO的平均成绩
二、在表XSCJ.db表中,当输入任意学生的学号则显示学生的记录程序
三、请建立了一个日销售文件(营业员代号C4、品名C10、数量N3、单价N7.2、营业额N9.2),每一笔营业构成一个记录,但其中营业额字段的值都不填写,而为0.00,请编制能查询某个营业员全天营业额的程序。
实验九 程序设计----分支程序设计
实验目的:熟悉和掌握基本的分支程序的程序设计。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
2、学生成绩表文件STUD.DBF中有学号(C,6)、姓名(C,6)、数学(N,3)、语文(N,3)、外语(N,3)与平均(N,5,1)等6个字段和若干个记录,其中平均字段值为0.00,请编制能查找指定学号的学生,若查到则显示其数学及所属等级(优:90-100,良:76-89,及格:60-75,不及格:60以下),若找不到,则显示“无此学号”。
3、从键盘上输入任意三个数,请输出所输的数据的最大的数。
4、从键盘上输入任意三个数,请按从小到大的顺序显示输出所数的数据。
实验十 程序设计----循环程序设计
实验目的:熟悉和掌握基本的分支程序的程序设计。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
1、编制并在屏幕显示输出九九乘法表
2、从键盘输入任意数n,求该数的阶乘n!,当输入的数据为负数则显示“输入数据有误,请重新输入!!”,当输入的数据为0,则结束程序执行。
3、编制一个循环程序,要求从键盘输入任意一元二次方程的系数a,b,c的值,编程求出该一元二次方程的根,当输入系数a、b、c的值都为零则退出循环,结束程序的执行。
4、从键盘上随机输入N个数据,要求按升序和降序输出。要求:
(1)、每行输出4个数据,每两个数据之间列间距为10
(2)、当输入的元素的个数为0,则结束程序的执行,并退出程序。
5、求1~1000的素数的数值的位数之和为偶数的所有素数。
实验十一程序设计---过程、函数及参数的调用
实验目的:熟悉和掌握自定义函数或子程序的建立、调试、运行操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
按下列计算要求编制自定义函数或子程序。
一、求
二、求组合数
三、求x的绝对值。
实验十二表单设计与应用---基本表单
实验目的:熟悉和掌握表单的基本应用、编辑及运行操作。 实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
设计如上图所式的表单,要求:
1、 当输入操作员口令(设为口令111111)时,显示六个*
2、 当口令输入完毕,单击“确认”命令按钮时,如所口令正确则显示如下图的口令窗口,当口令输入错误,则显示如下图的提示窗口
3、 当单击“进入系统”命令按钮时,显示如下图的欢迎使用窗口。
4、 当单击“退出”命令按钮时,显示如下图的对话提示窗口。当单击“是”则退出表单操作,当单击否则继续表单操作。
实验十三表单设计与应用---表数据的显示
实验目的:熟悉和掌握表单的相对复杂的应用操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
设计如下图的表单设计相应的控件,显示表XSCJ.DBF相应的数据,要求:
1、将性别数据的显示用单选按钮,婚否用复选框,用来控制表XSCJ.DBF中部分数据的输入、输出及编辑
2、设计表格控件,显示每个日的记录。
3、设计一个命令控件“退出”,用于退出表单运行,返回到系统状态。
实验十四表单设计与应用---表的高级操作
实验目的:熟悉和掌握表单的相对复杂的应用操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
设计如下图的表单设计相应的控件,显示、增加、删除表XSCJ.DBF相应的数据,要求在实验十三的基础上,增加如下功能:
1、增加命令控件首记录、上一条、下一条、末记录、增加、删除并退出、退出、删除/取消
2、当单击首记录、上一条、下一条、末记录控件时,能显示相应的记录,当单击上一条,如记录指针指向第一条记录时,显示不变,同样,当单击上一条,如记录指针指向第一条记录时,显示不变
3、当单击“增加”控件时,可在表格中增加记录。
4、当单击“删除/取消”控件时,如当前记录没有删除标记,则做删除标记,否则就取消当前记录的删除标记。
5、当单击“删除并退出”控件时,屏幕显示对话框“确实要将作删除标记的记录物理删除吗?”,当单击“确定”则将物理删除做逻辑删除标记的记录,当单击“取消”则仅仅退出运行而不删除记录。
6、当单击“退出”时,仅退出运行状态
实验十五表单设计与应用—计算器
实验目的:熟悉和掌握表单的相对复杂的应用操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
设计如上图的计数器,要求:
1、在表单中设置相应的文本按钮和命令按钮,并设置相应的属性。
2、当输入相应的表达式时,在文本按钮中显示表达式的结果
3、当按计算按钮时,在文本按钮处显示表达式的结果
4、当按清除按钮时,将所输入的内容或计算的结果清除
5、当按返回按钮时,将退出表单的执行,返回到数据库系统。
实验十六菜单设计简单设计
目的:熟悉和掌握菜单的基本应用操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
设计如下结构的菜单,要求:
电子邮件 件
收文办理 件
发文办理 件
退出 件
1、当单击二级菜单则以窗口方式显示选中的菜单项,如当选中“内部流转”则在窗口中显示“内部流转”
2、单击“退出”二级菜单,则退出菜单运行
实验十七报表设计
实验目的:熟悉和掌握报表设计的编制、调试、运行程序操作。
实验环境:满足Visual FoxPro3.0及其以上版本所要求的计算机硬件和软件环境。
实验内容:
设计如上所示的学生基本情况表,要求:
1、建立表xsda.dbf,结构为:
list stru
字段 字段名 类型 宽度 小数
1 XH 字符型 6 &&学号
2 XM 字符型 8 &&姓名
3 XB 字符型 2 &&性别
4 CSRQ 日期型 8 &&出生日期
5 JG 字符型 6 &&籍贯
6 SG 数值型 3 0 &&身高
7 TS 数值型 3 0 &&体重
并输入至少5条记录
2、表具有表头,内容为“学生基本情况表”,并插入一个图片
3、标题栏的字母字段名处用相应的汉字显示,并在标题的下面有两条线