VF数据库实验指导书.doc
1 实验一 VFP 数据表基本操作 1、 数据表的建立和数据的输入 一、实验目的 1、了解数据表的基本概念 2、掌握数据表的建立 2、掌握数据表中数据的添加 3、掌握从其他数据表中添加数据 二、实验内容及任务 1、将所附带的 VFPEX 文件夹及该文件夹中的所有文件复制到 C 盘根目录下。 2、在文件夹 VFPEX 创建数据表 XS.DBF,表结构如下: 字段名 类型 宽度 小数位数 说明 XH 字符型 6 学号 XM 字符型 8 姓名 XB 字符型 2 性别 CSRQ 日期型 8 出生日期 TYF 逻辑型 1 团员否 SZX 字符型 6 所在系 RXCJ 数值型 3 入学成绩 3、在创建表的同时,输入如下的记录: 学号 姓名 性别 出生日期 团员否 所在系 入学成绩 040105 张静 女 1986-12-1 T 中文 387 040207 杨卫国 男 1986-9-22 F 历史 390 040410 方惠娟 女 1986-11-15 F 外文 379 4、向数据表添加记录: 学号 姓名 性别 出生日期 团员否 所在系 入学成绩 040405 宋海涛 男 1986-8-29 T 外文 382 5、从数据表 XS1.DBF 中成批添加数据到数据表 XS.DBF 中。 三、实验环境和实验材料 1、Visual FoxPro 6.0 中文版; 2、素材软盘 四、实验方法和步骤 1、复制实验所需文件 双击“我的电脑” ,打开窗口,双击 A 驱动器,窗口中显示 A 盘中的内容, 鼠标右击 VFPEX 文件 夹,显示快捷菜单,选择“复制”命令;打开 C 盘根目录并右击,显示快捷菜单,选择“粘贴”命令, 软盘中的 VFPEX 文件夹及其文件被复制到 C 盘根目录中。 2、创建数据表并输入数据 1)进入 Visual FoxPro 6.0 环境。 2)选择“文件/新建”命令,显示“新建”对话框,如图 1-1,选择“表”并单击“新建文件” ,显 示创建对话框,如图 1- 2, “保存在”选择“VFPEX 文件夹” , “输入表名”为“XS.DBF” ,单击 “保存” ,显示表设计器,如图 1-3。 2 图 1-1 图 1-2 3)按要求输入相关的字段名、字段类型、字段宽度等内容,具体如图 1-3。 图 1-3 4)单击“确定” ,显示“现在输入数据吗?”确认框,如图 1-4,单击“是” ,显示数据表窗口,如 图 1-5,将上述三条记录依次输入到数据表中,并关闭窗口。 图 1-4 3 图 1-5 3、向数据表添加记录 1)选择“文件/打开”命令,显示打开对话框,如图 1-6,在“查找范围”中选择“VFPEX 文件夹” , “文件类型”中选择“表(*.dbf ) ”,双击 XS.DBF 数据表,打开数据表。 图 1-6 2)选择“显示/浏览”命令,显示数据表窗口,如图 1-5。 3)选择“表/追加新记录”命令,在数据表窗口中添加新的空记录,将上述记录添加到数据表,并关 闭数据表 4、从其他数据表添加数据到当前数据表 1)打开数据表 XS.DBF,并显示数据表窗口,如图 1-5。 2)选择“表/追加记录”命令,显示追加来源对话框,如图 1-7,在“类型”中选择“Table(DBF)” , 对“来源于”单击其后的按钮,显示打开对话框,选择 XS1.DBF 数据表打开。 图 1-7 4 3)单击“确定” ,XS1.DBF 数据表中的数据添加到 XS.DBF 数据表中,最后关闭数据表。 5、最后,选择“窗口/命令窗口”命令,打开命令窗口,在其中输入:“CLOSE ALL”,关闭所有打开的 文件,并选择“文件/退出”命令,退出 Visual FoxPro 6.0 环境。 2、数据表中数据的修改和删除 一、实验目的 1、了解数据表中数据的浏览 2、掌握数据表中成批数据的修改 3、掌握用命令 REPLACE 成批修改数据 4、掌握逻辑删除数据表中的记录 5、掌握物理删除数据表中的记录 二、实验内容及任务 1、浏览文件夹 VFPEX 中的数据表 RESULT.DBF。 2、对数据表 RESULT.DBF 中,缺课次数为 0 的学生,成绩加 5 分。 3、对数据表 RESULT.DBF 中,逻辑删除成绩小于 60 分的记录。 4、对数据表 RESULT.DBF,恢复所有被逻辑删除的记录。 5、对数据表 RESULT.DBF 中,物理删除外文系同学的记录。 6、对文件夹 VFPEX 中的数据表 KCSP.DBF,将单价在 10 元和 15 元之间(包括 15 元)的商品,单价增加 10%,数量增加 10,并计算相应的金额。 三、实验环境和实验材料 1、Visual FoxPro 6.0 中文版; 2、VFPEX 中的数据表 RESULT.DBF 和数据表 KCSP.DBF 四、实验方法和步骤 1、进入 Visual FoxPro 6.0 环境。 2、浏览数据表 RESULT.DBF 1)选择“文件/打开”命令,显示打开对话框,在“查找范围”中选择“VFPEX 文件夹” , “文件类型” 中选择“表(*.dbf ) ”,双击 RESULT.DBF 数据表,打开数据表。 2)选择“显示/浏览”命令,显示数据表窗口,如图 1-8,即可浏览表中数据。 图 1-8 3、将缺课次数为 0 的学生,成绩加 5 分 1)打开 RESULT.DBF 数据表窗口。 5 2)选择“表/替换字段”命令,显示替换字段对话框,如图 1-9,在“字段”选择“CJ” , “替换为” 输入“CJ + 5 ”, “作用范围 ”选择“ALL” ,单击“For” 后的按钮,显示表达式生成器窗口,如 图 1-10。 3)在“字段”中选择“QKCS”并双击,结果显示在“FOR 子句”中,在“逻辑”中选择“=” ,结果 同样显示在“FOR 子句”中,在“=”后输入 0, “FOR 子句”中的表达式为:“Result.qkcs = 0” , 最后单击“确定” ,生成 FOR 表达式,返回到替换字段对话框。 4)在替换字段对话框,单击“替换” ,完成数据的替换。 图 1-9 图 1-10 4、逻辑删除成绩小于 60 分的记录。 1)打开 RESULT.DBF 数据表窗口。 2)选择“表/删除记录”命令,显示删除对话框,如图 1-11,在“作用范围”选择“ALL” ,单击 “For”后的按钮,显示表达式生成器窗口。 3)在“字段”中选择“CJ”并双击,在“逻辑”中选择“ 0 .AND. CJ = 100”,在“信息” 文本框内输入““学生成绩应在 0~100 分之间“” ,完成设置。 4)按要求完成上述设置,单击“确定”按钮,显示确认框,选择“是”按钮,完成最后的工作。 4、最后,在命令窗口中输入:“CLOSE ALL”,关闭所有打开的文件,选择“文件/退出”命令,退出 Visual FoxPro 6.0 环境。 16 4、数据库表的关系建立 一、实验目的 1、掌握数据库中表之间关系的建立 二、实验内容及任务 1、在文件夹 VFPEX 中,将数据库 COML.DBC 中的数据表 PROD.DBF 和 SELL.DBF 之间建立一对多关系。 2、在文件夹 VFPEX 中,将数据表 TEST1.DBF 导入到数据库 ABC.DBC 中。对数据库中的数据表 TEST1.DBF 和 LX.DBF 之间建立一对一关系。 三、实验环境和实验材料 1、Visual FoxPro 6.0 中文版; 2、VFPEX 中的数据表 TEST1.DBF、LX.DBF、PROD.DBF 和 SELL.DBF,数据库 ABC.DBC、COML.DBC。 四、实验方法和步骤 1、进入 Visual FoxPro 6.0 环境。 2、对数据库 COML.DBC 中的数据表 PROD.DBF 和 SELL.DBF 之间建立的一对多关系。 1)使用“文件/打开”命令,打开 VFPEX 文件夹中的数据库 COML.DBC 2)双击数据表 PROD.DBF,打开数据表窗口。 3)使用“显示/表设计器”命令,打开表设计器对话框。 4)选中“SPBH”字段,在“索引”框内选择“升序” 。 5)选择“索引”标签,如图 3-8,选中“SPBH”索引,在“类型”框内选择“主索引”或“候选索 引” 。 6)单击“确定”按钮,显示确认框,选择“是”按钮,完成主索引的设置。 7)右击数据表 SELL.DBF,显示快捷菜单,选择“修改”命令,显示表设计器对话框。 8)选中“SPBH”字段,在“索引”框内选择“升序” 。 9)单击“确定”按钮,显示确认框,选择“是”按钮,完成索引的设置。 10)在数据库设计器窗口中,用鼠标指向数据表 PROD.DBF 中的主索引“SPBH” ,按下左键并拖曳至数 据表 SELL.DBF 中的普通索引“SPBH”处松开左键,完成一对多的关系建立,如图 3-9。 图 3-8 17 图 3-9 3、将数据表 TEST1.DBF 导入到数据库 ABC.DBC 中。对数据表 TEST1.DBF 和 LX.DBF 之间建立的一对一关 系。 1)使用“文件/打开”命令,打开 VFPEX 文件夹中的数据库 ABC.DBC。 2)使用“数据库/添加表”命令,将 TEST1.DBF 添加到数据库。 3)双击数据表 TEST1.DBF,打开数据表窗口。 4)使用“显示/表设计器”命令,打开表设计器对话框。 5)选中“XH”字段,在“索引”框内选择“升序” 。 6)选择“索引”标签,选中“XH”索引,在“类型”框内选择“主索引”或“候选索引” 。 7)单击“确定”按钮,显示确认框,选择“是”按钮,完成主索引的设置。 8)右击数据表 LX.DBF,显示快捷菜单,选择“修改”命令,显示表设计器对话框。 9)选中“XH”字段,在“索引”框内选择“升序” 。 10)选择“索引”标签,选中“XH”索引,在“类型”框内选择“主索引”或“候选索引” 。 11)单击“确定”按钮,显示确认框,选择“是”按钮,完成主索引的设置。 12)在数据库设计器窗口中,用鼠标指向数据表 TEST1.DBF 中的主索引“XH” ,按下左键并拖曳至数 据表 LX.DBF 中的主索引“XH”处松开左键,完成一对一的关系建立。 4、最后,在命令窗口中输入:“CLOSE ALL”,关闭所有打开的文件,选择“文件/退出”命令,退出 Visual FoxPro 6.0 环境。 5、视图的创建 一、实验目的 1、掌握视图的创建 二、实验内容及任务 1、对文件夹 VFPEX 中的数据库 TEACH.DBC,建立视图 COLLECT,其中包括 XH、XM、SZX、KCMC、XF 和 CJ 等六个字段。 18 三、实验环境和实验材料 1、Visual FoxPro 6.0 中文版; 2、VFPEX 中的数据表 STUDENT.DBF、TEACHEER.DBF 和 ELECTIVE.DBF,数据库 TEACH.DBC。 四、实验方法和步骤 1、进入 Visual FoxPro 6.0 环境。 2、使用“文件/打开”命令,打开 VFPEX 文件夹中的数据库 TEACH.DBC。 3、选择“文件/新建”命令,显示新建对话框,选择“视图”并单击“向导”按钮,显示“本地视图向 导”步骤一字段选取对话框,如图 3-10。 4、在“数据库和表”列表框中,选中 STUDENT 数据表,在“可用字段”列表框中选中 XH 字段并单击移 动的箭头,使该字段移动到“选定字段”列表框中,依次将 “XM”、 “SZX”字段从“可用字段”列表 框中移动到“选定字段”列表框中。 5、分别在“数据库和表”列表框中选中 TEACHER 数据表和 ELECTIVE 数据表,将其中的 KCMC、XF 和 CJ 字段从“可用字段”列表框中移动到“选定字段”列表框中。 6、单击“下一步”按钮,显示“本地视图向导”步骤二为表建立关系对话框。 7、在两个下拉列表框中分别选择 STUDENT.XH 和 ELECTIVE.XH,如图 3-11,并单击添加按钮,添加数据 表 STUDENT.DBF 和 ELECTIVE.DBF 之间的内部关系。 图 3-11 8、在两个下拉列表框中分别选择 ELECTIVE.KCBH 和 TEACHER.KCBH,如图 3-12,并单击添加按钮,添加 数据表 ELECTIVE.DBF 和 TEACHER.DBF 之间的内部关系。 19 图 3-12 9、单击“下一步”按钮,显示“本地视图向导”步骤三筛选记录对话框,如图 3-13。 图 3-13 10、保持缺省值,单击“下一步”按钮,显示“本地视图向导”步骤四排序记录对话框,如图 3-14。 20 图 3-14 11、保持缺省值,单击“下一步”按钮,显示“本地视图向导”步骤五完成对话框,如图 3-15。 图 3-15 12、保持缺省值,单击“完成”按钮,显示视图名对话框,如图 3-16,输入 COLLECT,单击“确认”按 钮,完成视图的创建,如图 3-17。 图 3-16 21 图 3-17 13、最后,在命令窗口中输入:“CLOSE ALL”,关闭所有打开的文件,选择“文件/退出”命令,退出 Visual FoxPro 6.0 环境。 实验四 VFP 菜单设计 1、菜单设计 一、实验目的 1、掌握利用菜单设计器设计普通菜单 2、掌握菜单的运行 二、实验内容及任务 1、创建一个普通菜单,包括“文件(F) ”和“编辑(E) ”两个菜单项,其中“文件”菜单项包括“新建” 、 “打开”和“退出”三个命令菜单,它们的快捷键分别是 Ctrl+N、Ctrl+O 和 Ctrl+X,它们的结果 分别是执行程序文件 NEW.PRG、OPEN.PRG 和将系统菜单恢复为标准设置; “编辑”菜单项包括“剪切” 、 “复制”和“粘贴”三个命令菜单,它们的快捷键分别是 Ctrl+X、Ctrl+C 和 Ctrl+V,它们分别调 用相应的系统标准功能,结果保存在 TEST.MUX 文件中,生成菜单程序文件 TEST.MPR。 三、实验环境和实验材料 1、Visual FoxPro 6.0 中文版; 2、VFPEX 中程序文件 NEW.PRG、OPEN.PRG。 四、实验方法和步骤 1、进入 Visual FoxPro 6.0 环境。 2、选择“文件/新建”命令,显示新建对话框,选择“菜单”并单击“新建文件”按钮,显示新建菜单 对话框,如图 4-1,选择“菜单”按钮,进入“菜单设计器 ”对话框,如图 4-2。 22 图 4-1 3、在“菜单名称”列的文本框输入:“文件(\F)” , “结果”列选择“子菜单” ,单击“创建”按钮,菜 单设计器窗口进入到子菜单设计,如图 4-3。 图 4-2 图 4-3 23 图 4-4 4、在“菜单名称”列的文本框输入:“新建” ,在“结果”列选择“命令” ,在“选项”列的文本框输入 “DO NEW.PRG”,最后单击“选项”列上的按钮,显示 “提示选项”对话框,如图 4-4。 5、单击“键标签”文本框,并在键盘上按组合键 Ctrl+N,最后单击“确定”按钮。 6、同样方法,设计“打开”命令菜单和隔离线。 7、对“退出”命令菜单,在“结果”列选择“过程” ,单击“选项”列中“创建”按钮,显示文本编辑 窗口,如图 4-5,输入如下内容:“SET SYSMENU TO DEFAULT”,快捷键设置同“新建”命令菜单。 图 4-5 8、完成“文件”子菜单设计后,在“菜单级”下拉列表中选择“菜单栏” ,返回主菜单设计窗口。 9、同样设置“编辑”子菜单,通过单击“选项”列中“创建”按钮使菜单设计器窗口进入到子菜单设计, 如图 4-6。 10、在“菜单名称”列的文本框内分别输入:“剪切” 、 “复制”和“粘贴” ,在“结果”列都选择“菜单 项 #”,分别在“选项”列的文本框内输入“_med_cut” 、 “_med_copy”和“_med_paste” ,如图 4- 6,并通过单击“选项”列上的按钮,分别设置快捷键 Ctrl+X、Ctrl+C 和 Ctrl+V。 24 图 4-6 11、完成上述内容设置后,单击“预览”按钮,进行调式,最后选择“文件/保存”命令,将该菜单以 “TEST.MUX”文件名保存在 VFPEX 文件夹中。 12、选择“菜单/生成”命令,显示生成菜单对话框,如图 4-7,保持缺省值,单击“生成”按钮,完成 菜单程序的生成,最后关闭菜单设计器窗口。 图 4-7 13、使用“程序/运行”命令,运行菜单程序文件 TEST.MPR,系统菜单发生变化,选择“文件”菜单中的 “新建”和“打开”命令,在系统中显示相应的信息,如图 4-8,选择“文件/退出”命令,返回系 统菜单。 图 4-8 14、最后,在命令窗口中输入:“CLOSE ALL”,关闭所有打开的文件,选择“文件/退出”命令,退出 Visual FoxPro 6.0 环境。 25 实验五 VFP 表单设计 1、表单设计 一、实验目的 1、掌握表单设计器的使用 2、掌握表单设计的基本方法 3、掌握常用控件属性的基本设置,事件和方法程序的设计 二、实验内容及任务 1、编写一个表单程序,其功能是给数据表添加记录并给各字段输入数据,输入的记录条数不定,单击 “添加”按钮,将数据添加到数据库,单击“退出” 按钮,结束程序运行,所需的数据表 ST.DBF 在 文件夹 VFPEX 中。 数据表的结构如下: 字段名 类型 宽度 小数 说明 KH 字符型 8 考号 XM 字符型 8 姓名 XB 字符型 2 性别 SX 数值型 3 数学 YW 数值型 3 语文 ZF 数值型 3 总分 其中:总分=数学+语文 表单界面如下: 最后表单以文件名 SR.SCX 保存。 三、实验环境和实验材料 1、Visual FoxPro 6.0 中文版; 2、VFPEX 中的数据表 ST.DBF。 四、实验方法和步骤 1、进入 Visual FoxPro 6.0 环境。 2、选择“文件/新建”命令,显示“新建”对话框,选择“表单”并单击“新建文件” ,显示表单设计器 窗口,如图 5-1。 26 图 5-1 3、按设计界面的要求,依次从“表单控件”工具栏处单击所需的控件,然后在所设计表单上添加该控件, 同时,在属性窗口内设置该控件的属性,具体如下: 表单 Form1 需要设置的属性:Caption=成绩输入 标签 Label1 需要设置的属性:Caption=考 号:,FontSize=12 “考号”对应的文本框 Text1 需要设置的属性:FontSize=12 标签 Label2 需要设置的属性:Caption=姓 名:,FontSize=12 “姓名”对应的文本框 Text2 需要设置的属性:FontSize=12 标签 Label3 需要设置的属性:Caption=性 别:,FontSize=12 “性别”对应的选项按钮 Option1 需要设置的属性:Caption=男,FontSize=12 “性别”对应的选项按钮 Option2 需要设置的属性:Caption=女,FontSize=12 标签 Label4 需要设置的属性:Caption=数 学:,FontSize=12 “数学”对应的文本框 Text3 需要设置的属性:FontSize=12 标签 Label1 需要设置的属性:Caption=语 文:,FontSize=12 “语文”对应的文本框 Text4 需要设置的属性:FontSize=12 命令按钮 Command1 需要设置的属性:Caption=添 加,FontSize=12 命令按钮 Command2 需要设置的属性:Caption=退 出,FontSize=12 除上述需要设置的属性以外,其他属性保持缺省值。 4、选择“显示/布局工具栏”命令,打开“布局”工具栏。按住“SHIFT”键,并单击选中表单中需要重 新排列的控件,然后在布局工具栏中单击排列方式按钮,可对控件的布局进行重新调整。 5、选择“显示/代码”命令,打开代码编写窗口,如图 5-2。 27 图 5-2 5、在代码编写窗口的“对象”下拉列表框中选择“Command1” , “过程”下拉列表框中选择“Click” ,可 输入相关的程序代码,如图 5-3,即编写在程序运行中,按下 “添加”按钮时,程序执行的功,具体 程序代码如下: USE C:\VFPEX\ST OPG = THISFORM.OPTIONGROUP1 APPEND BLANK REPLACE KH WITH THISFORM.TEXT1.VALUE , XM WITH THISFORM.TEXT2.VALUE REPLACE XB WITH OPG.BUTTONS(OPG.VALUE).CAPTION REPLACE SX WITH VAL(THISFORM.TEXT3.VALUE) REPLACE YW WITH VAL(THISFORM.TEXT4.VALUE) REPLACE ZF WITH SX + YW USE 图 5-3 6、在代码编写窗口的“对象”下拉列表框中选择“Command2” , “过程”下拉列表框中选择“Click” ,可 输入相关的程序代码,具体程序代码如下: CLOSE ALL THISFORM.RELEASE 7、使用“文件/保存”命令,将该表单以文件名 SR.SCX 保存在 VFPEX 文件夹中。 8、使用“表单/执行表单”命令进行调式,直到完全正确,并关闭表单设计器窗口。 9、最后,在命令窗口中输入:“CLOSE ALL”,关闭所有打开的文件,选择“文件/退出”命令,退出 28 Visual FoxPro 6.0 环境。 实验六 VFP 程序设计 1、程序设计 一、实验目的 1、掌握程序文件的编写 2、掌握程序文件中的顺序结构 3、掌握程序文件中的分支结构 4、掌握程序文件中的循环结构 二、实验内容及任务 1、编写程序,实现 1! – 2! + 3! …… - 10! + 11!功能,该程序以 LX01.PRG 文件名保存在 VFPEX 文 件夹中。 2、编写程序,实现如下功能:从键盘输入年份,判断该年份是否为闰年,判断闰年的条件是:符合下面 二者之一:能被 4 整除但不能被 100 整除或者能被 4 整除,又能被 400 整除。该程序以 LX02.PRG 文 件名保存在 VFPEX 文件夹中。 3、编写程序,实现如下功能:计算 1/20+3/18+5/16+……+19/2 的值。该程序以 LX03.PRG 文件名保存在 VFPEX 文件夹中。 三、实验环境和实验材料 1、Visual FoxPro 6.0 中文版; 四、实验方法和步骤 1、进入 Visual FoxPro 6.0 环境。 2、选择“文件/新建”命令,显示“新建”对话框,选择“程序”并单击“新建文件” ,显示文本编辑窗 口,如图 6-1。 图 6-1 3、将实现 1! – 2! + 3! …… - 10! + 11!功能的程序,输入在文本编辑窗口中,程序的具体内容如下: SET TALK OFF S = 0 29 T = 1 N = 1 M = 1 DO WHILE N = 11 T = T * N S = S + M * T N = N + 1 M = - M ENDDO ? “1!-2!+3!-.+9!-10!+11!= “ + STR(S) SET TALK ON 4、选择“文件/另存为”命令,显示另存为对话框,如图 6-2, “保存在”选择 VFPEX 文件夹, “保存文档” 中输入 LX01.PRG,其他不变,单击“保存” ,完成程序的输入。 图 6-2 5、选择“程序/运行”命令,显示运行对话框,选择程序 LX01.PRG,单击“运行”命令,在 Visual FoxPro 窗口中显示运行结果,如图 6-3。 30 图 6-3 6、重复步骤 2~5,完成对判断该年份是否为闰年的程序的调试,程序的具体内容如下: SET TALK OFF INPUT “请输入年份:“ TO YEAR IF YEAR/4 = INT(YEAR/4) IF YEAR/100 # INT(YEAR/100) ? STR(YEAR,4) + “是闰年“ ELSE IF YEAR/400 # INT(YEAR/400) ? STR(YEAR,4) + “不是闰年“ ELSE ? STR(YEAR,4) + “是闰年“ ENDIF ENDIF ELSE ? STR(YEAR,4) + “不是闰年“ ENDIF SET TALK OFF 7、重复步骤 2~5,完成对计算 1/20+3/18+5/16+……+19/2 值的程序的调试,程序的具体内容如下: SET TALK OFF S = 0 N = 1 DO WHILE N =19 S = S + N / ( 21 - N ) N = N + 2 ENDDO ? “1/20+3/18+5/16+……+19/2=“ + STR( S ) SET TALK ON 8、最后,在命令窗口中输入:“CLOSE ALL”,关闭所有打开的文件,选择“文件/退出”命令,退出 Visual FoxPro 6.0 环境。