Visual FoxPro 程序设计实验报告

Visual FoxPro 程序设计实验报告
Visual FoxPro 程序设计实验报告

VF程序设计实验报告

图书馆管理系统

专业:

学号:

姓名:

指导教师:

2010年12月31日

目录

第一部分系统概述--------------------------------2 第二部分系统功能模块设计------------------------2 第三部分系统数据库及表设计----------------------2 第四部分系统菜单设计----------------------------5 第五部分系统界面设计----------------------------6 第六部分系统相关程序代码-----------------------13 第七部分实验报告小结---------------------------22 第八部分参考资料-------------------------------22

一、系统概述

近年来,随着图书馆规模的不断扩大,图书数量相应的增加,有关图书的各种信息量也成倍增加,面对庞大的信息量,传统的人工管理户导致图书管理的混乱,人力与物力过多的浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理。因此,为了充分发挥了图书馆的功效,最大限度地为读者服务,必须制定一套合理、有效,规范和实用的图书馆管理系统,对图书资料进行集中统一的管理。

根据上述需要,我们建立本图书馆管理系统。

根据图书、读者和管理员三者之间的关系,本系统主要实现读者对图书的查询、个人信息的修改和管理员对读者、图书的管理。

本系统采用VF6.0作为开发工具。

二、系统功能模块设计

本系统可以完成一般图书馆关于图书查询、借阅及书库管理的主要功能。其中:图书查询模块可以查询所需要的图书;读者管理模块中,读者可以查看自己的信息,对登陆密码进行修改,管理员可以对读者进行添加和删除;图书管理模块中,管理员可以为读者进行图书的借阅和归还操作,以及对图书的信息进行修改,如加入新书、删除不能使用的图书和更新图书的信息;报表打印模块中,实现对需要的信息进行打印输出。系统结构下图所示。

三、数据库及表设计

经分析,图书馆管理系统主要涉及了学生、管理员和图书三部分。因此需要建立的实体就是学生、管理员和图书三个。

根据系统模块的设计,可以的到本系统需要建立的基本表为:读者信息表、

管理员信息表、图书信息表、图书借阅信息表、图书信息表。

数据库的相关设计如下:

其中,读者信息表中证号为主索引,图书信息表中总编号为主索引,图书借阅表中对总编号和证号建立普通索引。

表单设计

(1)、读者信息表.dbf

字段名类型宽度索引

证号字符型 6 主索引

密码字符型 6

姓名字符型8

专业字符型10

性别字符型 2

年级字符型 2

院系字符型8

照片通用性30

备注备注型 4

(2)管理员信息表.dbf

字段名类型宽度索引证号字符型 4

密码字符型 6

(3)、图书信息表.dbf

字段名类型宽度索引总编号字符型 6 主索引分类名字符型 6

书名字符型12

作者字符型8

出版社字符型20

状态字符型 4

照片通用型 4

(4)、图书借阅信息表.dbf

字段名类型宽度索引

总编号字符型 6 普通索引

证号字符型 6 普通索引

借出日期日期型8

四、系统菜单设计

依据上述系统功能模块的设计,可以得到图书馆主界面菜单:主要包括图书查询、读者管理、图书管理、报表打印和退出。其中,图书查询执行命do form 图书查询.scx;退出执行命令_vfp.activeform.release;读者管理和图书管理包含子菜单;另外,报表打印的相关设计未能实现。相关设计如下图:

读者管理菜单主要包含读者信息查看、登陆密码修改、读者增添删除三个子菜单。其中,读者信息查看执行命令do form 读者信息.scx;登陆密码修改执行命令do form 密码修改.scx;读者增添删除执行命令do form读者增删.scx。相关设计结果如下图:

图书管理菜单包含图书借阅、图书归还、图书信息修改三个子菜单。其中,图书归还执行命令do form 图书借阅.scx;图书归还执行命令do form 图书归还.scx;图书信息修改执行命令do form 图书信息修改.scx。相关设计结果如下图:

五、系统界面设计

(1)登陆界面设计

用户通过登陆界面进行登陆,选择自己的用户类型,输入证号和密码,如果输入的信息与所连接的表中的数据相符,则进入图书馆的主界面,否则提示错误,直到输入正确信息方能进入系统。

(2)系统主界面设计

当用户登陆证号和密码通过验证后,进入图书管理系统的主界面,该界面由一表单及菜单组成。其中,表单上的”欢迎使用图书馆管理系统!”是一向左移动的动画,以增强界面的友好感。另外,用户可通过菜单上的各种操作对图书进行管理。图书馆管理系统的主界面如下:

(3)图书查询界面设计

用户可以选择查询条件,根据书名、作者、主题词、出版社、总编号其中的一种方式对图书进行查询,查询的结果显示在下边一个表格中。

(4)读者信息查看界面设计

管理员可以再次查看读者的信息,点击CommandGroup组中的各个图标可以查看任意一个读者的信息。

(5)读者密码修改界面设计

读者可以在此修改自己的密码,修改后的新密码同时在读者信息表中对相应密码进行更新。

(6)读者增添删除界面设计

管理员可以在此添加和删除用户,添加和删除的用户信息同时在读者信息表中进行更新。

(7)图书借阅界面设计

管理员对读者需要借阅的图书进行借阅操作,输入图书总编号及读者的证号完成图书的借阅流程。将此借阅的信息保存到图书借阅信息表中。

(8)图书归还界面设计

管理员对读者需要需要归还的图书进行归还操作,输入要归还的图书编号及读者证号,在图书借阅信息中进行查找并删除,完成图书归还的操作。

(9)图书信息修改界面设计

本界面使用了一个PageCount为3的页框,主要完成图书的添加、删除及信息更新的功能。下图中,管理员可以对图书进行登记,新书信息将添加到图书信息表中,读者可查阅到。

在本界面中,管理员可以对需要删除的图书从图书信息表中删除,输入要删除的图书的总编号,系统进行查找,若找到则删除,找不到则提示错误。

在本界面中,管理员可以通过输入图书的总编号,查找到需要更新的图书,进入图书更新界面中。

当系统找到对应的图书编号时,进入如下界面。在此,管理员可以更改图书的各种信息。

六、程序代码

1、登陆界面

(1)登陆按钮click事件代码:

if alltrim(thisform.container1.text1.value)==""

messagebox("请输入用户名!")

return

endif

if alltrim(thisform.container1.text2.value)==""

messagebox("请输入密码!")

return

endif

a=thisform.container1.optiongroup1.value

if a=1

use 读者信息

locate for alltrim(证号)=alltrim(thisform.container1.text1.value) if found()

if alltrim(密码)=alltrim(thisform.container1.text2.value)

messagebox("登录成功",64,"身份验证通过")

do form 图书馆主界面.scx

release thisform

else

messagebox("密码输入错误!",16,"错误提示")

endif

else

messagebox("读者号不存在!",16,"错误提示")

endif

else

use 管理员

locate for alltrim(证号)= alltrim(thisform.container1.text1.value) if found()

if alltrim(密码)=alltrim(thisform.container1.text2.value)

messagebox("登录成功!",64,"身份验证通过")

do form 图书馆主界面.scx

release thisform

else

messagebox("密码输入错误!",16,"错误提示")

endif

else

messagebox("用户名不存在!",16,"错误提示")

endif

endif

(2)退出按钮click事件代码:

answer=messagebox("你决定退出系统吗?",4,"提示")

do case

case answer=6

thisform.release

case answer=7

messagebox("请输入用户名和密码",0,"提示")

endcase

2、系统主界面

(1)表单的int事件代码:

do 图书馆主界面.MPR with this,.T.

THISFORM.Timer1.Enabled = .T.

(2)time1的time事件代码:

IF https://www.360docs.net/doc/215103071.html,bel1.Left+https://www.360docs.net/doc/215103071.html,bel1.width>0

https://www.360docs.net/doc/215103071.html,bel1.Left = https://www.360docs.net/doc/215103071.html,bel1.Left-10

ELSE

https://www.360docs.net/doc/215103071.html,bel1.Left = thisform.Width

ENDIF

3、图书查询界面

(1)查询按钮的click事件代码:

OPEN DATABASE 图书馆数据库.dbc SHARED

thisform.grid1.recordsource=""

m=allt(thisform.text1.value)

n=thisform.optiongroup1.value

do case

case n=1

select * from 图书信息 where 书名==m into cursor temp

thisform.grid1.recordsource="temp"

case n=2

select * from 图书信息 where alltrim(作者)==m into cursor temp

thisform.grid1.recordsource="temp"

case n=3

select * from 图书信息 where alltrim(书名) like "%"+m+"%" into cursor temp

thisform.grid1.recordsource="temp"

case n=4

select * from 图书信息 where alltrim(出版社)==m into cursor temp

thisform.grid1.recordsource="temp"

case n=5

select * from 图书信息 where alltrim(总编号)==m into cursor temp

thisform.grid1.recordsource="temp"

endcase

thisform.refresh

(2)返回按钮的click事件代码:thisform.release

4、读者信息查看界面

Commandgroup组的click事件代码:

n=this.value

do case

case n=1

go top

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(1).enabled=.f.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(2).enabled=.f.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(3).enabled=.t.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(4).enabled=.t. case n=2

skip-1

if bof()

go top

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(1).enabled=.f.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(2).enabled=.f.

endif

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(3).enabled=.t.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(4).enabled=.t. case n=3

skip 1

if eof()

go bottom

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(3).enabled=.f.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(4).enabled=.f.

endif

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(1).enabled=.t.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(2).enabled=.t. case n=4

go bottom

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(4).enabled=.f.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(3).enabled=.f.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(1).enabled=.t.

https://www.360docs.net/doc/215103071.html,mandgroup1.buttons(2).enabled=.t. case n=5

thisform.release

endcase

thisform.refresh

5、密码修改界面:

(1)修改按钮的click事件密码:

a=thisform.text4.value

b=thisform.text1.value

c=thisform.text2.value

d=thisform.text3.value

if alltrim(a)==""

messagebox("请输入账号!")

thisform.text4.setfocus

return

endif

if alltrim(b)==""

messagebox("请输入密码!")

thisform.text1.setfocus

return

endif

if alltrim(c)==""

messagebox("请输入新密码!")

thisform.text2.setfocus

return

endif

if alltrim(d)==""

messagebox("请再次输入新密码!")

thisform.text3.setfocus

return

endif

use 读者信息

locate for alltrim(证号)==alltrim(a)

if found()

if alltrim(密码)==alltrim(b)

if c==d

e=messagebox("确定要修改吗?",32+1+0,"提示")

if e=1

replace 密码 with c for alltrim(证号)==alltrim(a)

messagebox("密码修改成功!")

endif

else

messagebox("确认密码不正确!请重新输入!")

thisform.text2.value=""

thisform.text3.value=""

thisform.text2.setfocus

endif

else

messagebox("密码输入错误!请重新输入密码!",16,"错误提示") thisform.text1.value=""

thisform.text2.value=""

thisform.text3.value=""

thisform.text1.setfocus

endif

else

messagebox("证号不存在!",16,"错误提示")

thisform.text1.value=""

thisform.text2.value=""

thisform.text3.value=""

thisform.text4.value=""

endif

(2)返回按钮的click事件代码:release thisform

6、读者增删界面

(1)command1按钮的click事件代码:

open database 图书馆数据库.dbc shared

a=allt(thisform.text1.value)

b=allt(thisform.text2.value)

if a==""

messagebox("证号不能为空!",0,"提示")

thisform.text1.setfocus

return

endif

if b==""

messagebox("密码不能为空!",0,"提示")

thisform.text2.setfocus

return

endif

use 读者信息

locate for 证号=a

if found()

messagebox("该用户已经存在!",0,"提示")

thisform.text1.value=""

thisform.text2.value=""

thisform.text1.setfocus

else

insert into 读者信息(证号,密码) values (a,b) thisform.text1.value=""

thisform.text2.value=""

messagebox("恭喜你注册成功!",0,"提示")

thisform.text1.setfocus

endif

use

(2)command2的click事件代码:

open database 图书馆数据库.dbc shared

a=allt(thisform.text3.value)

if a==""

messagebox("证号不能为空!",0,"提示")

return

endif

use 读者信息

locate for 证号=a

if found()

b=messagebox("确定要删除该用户吗?",1,"提示")

if b=1

delete

pack

thisform.text3.value=""

messagebox("删除成功!",0,"提示")

thisform.text3.setfocus

endif

else

messagebox("没有该用户!请重新输入!",0,"提示")

thisform.text3.value=""

thisform.text3.setfocus

endif

use

(3) command3的click事件代码:thisform.release

7、图书借阅界面

(1)借出按钮的click事件代码:

OPEN DATABASE 图书馆数据库.dbc SHARED

a=allt(thisform.text1.value)

b=allt(thisform.text2.value)

c=date()

use 图书借阅信息

locate for 总编号=a

if found()

insert into 借书信息 values (a,b,c)

messagebox("借书成功!",0,"提示")

else

answer=messagebox("没有该书!是否继续?",1,"提示") if answer=1

thisform.text1.value=""

thisform.text2.value=""

else

thisform.release

endif

endif

use

close database

(2)返回按钮的click事件代码:release thisform

8、图书归还界面

(1)归还按钮的click事件代码:

OPEN DATABASE 图书馆数据库.dbc SHARED

a=allt(thisform.text1.value)

b=allt(thisform.text2.value)

use 图书借阅信息

locate for 总编号=a and 证号=b

if found()

delete

answer=messagebox("确认是否还书?",1,"提示")

if answer=1

pack

thisform.text1.value=""

thisform.text2.value=""

else

recall

endif

else

messagebox("你输入的信息不对,请确认后重新输入!",0,"提示") endif

close database

(2)返回按钮的click事件代码:release thisform

9、图书信息修改界面

(1)page1中的command1按钮的click事件代码:

open database 图书馆数据库.dbc shared

zbh=allt(thisform.pageframe1.page1.text1.value)

flm=allt(thisform.pageframe1.page1.text2.value)

sm=allt(thisform.pageframe1.page1.text3.value)

zz=allt(thisform.pageframe1.page1.text4.value)

cbs=allt(thisform.pageframe1.page1.text5.value)

dj=val(allt(thisform.pageframe1.page1.text6.value))

zt=allt(thisform.pageframe1.page1.text7.value)

use 图书信息

answer=messagebox("确认添加新书吗?",1,"提示")

if answer=1

insert into 图书信息 values (zbh,flm,sm,zz,cbs,dj,zt)

messagebox("添加成功!",0,"提示")

else

thisform.pageframe1.page1.text1.value=""

thisform.pageframe1.page1.text2.value=""

thisform.pageframe1.page1.text3.value=""

thisform.pageframe1.page1.text4.value=""

thisform.pageframe1.page1.text5.value=""

全国计算机等级考试二级VFP模拟试题及答案

全国计算机等级考试二级VFP模拟试卷考试及答案 第一项:单项选择题答案见最后 1、下面关于运行应用程序的说法,正确的是 A)APP应用程序可以在Visual FoxPro和Windows环境下运行 B)EXE应用程序只能在Windows环境下运行 C)EXE应用程序可以在Visual FoxPro和Windows环境下运行 D)APP应用程序只能在Windows环境下运行 2、调用报表格式文件pp1预览报表的命令是 A)REPORT FROM PP1 PREVIEW B)DO FROM PP1 PREVIEW C)REPORT FORM PP1 PREVIEW D)DO FORM PP1 PREVIEW 3、报表的数据源可以是 A)自由表或其他报表 B)数据库表、自由表或视图 C)数据库表、自由表或查询 D)表、查询或视图 4、确定列表框内的某个条目是否被选定应使用的属性是 A)Value B)ColumnCount C)ListCount D)Selected 5、在Visual FoxPro中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为 A)Thisform.Refresh B)Thisform.Delete C)Thisform.Hide D)Thisform.release 6、在Visual FoxPro中,控件分为 A)容器类和控件类 B)控件类和基类 C)容器类和基类 D)控件类的基础类 7、在Visual FoxPro中,扩展名为.DBC的文件是 A)数据库表文件 B)表单文件 C)项目文件 D)数据库文件 8、在下面Visual FoxPro表达式中,运算结果为字符串的是

《VisualFoxPro6.0简明教程》教学指导书(精)

《Visual FoxPro6.0简明教程》教学指导书 一、教学目的和要求 本课程以Visual Foxpro 6.0 为基础,讲授数据库系统的基本概念和基本理论,使学生了解关系型数据库的基本概念和程序设计方法,能够独立编写VFP程序,并结合数据库的操作管理功能,实现信息管理与查询功能,为后续课程学习奠定基础。 通过本课程的学习,使学生掌握数据库的基本概念、操作、查询;掌握高级语言程序设计及可视化编程功能,掌握可视化编程技巧及技术。学完本课程后,学生应该能够独立编制小型数据库应用程序。 为了便于教师备课,掌握进度,我们给出该课程的教学指导书。但基于各学校的教学安排和情况有所不同,所以很难有统一要求,我们仅以每周3+2学时为例(3节上课,2节上机,按18周设计)写出教学要求。对于每周2+2学时的教学单位有些章节内容可以删略。 二、课程内容及其安排 (课程安排以教育部高职高专规划教材《Visual FoxPro6.0简明教程》为基础) 教学课程内容安排: 第一周 内容:第1章Visual FoxPro 6.0概述 教学目的: 要求学生掌握VFP6.0的功能,VFP6.0系统的软硬件环境,VFP6.0系统的安装及性能指标和VFP6.0文件组成。 教学重点与难点: 1.VFP6.0系统的启动 2. VFP6.0环境介绍 3.VFP6.0文件组成 作业: 1.VFP 6.0的主要特点是什么? 2.VFP 6.0主要使用哪两种菜单? 3.VFP 6.0的数据库文件和数据表文件的扩展名是什么? 第二周 内容:项目管理器 教学目的: 使学生学会项目管理器的建立和使用. 教学重点与难点: 1.项目管理器的建立和界面操作 2. 设计器与生成器的使用 3. 工作目录与搜索路径的建立 作业: 1.什么是项目管理器? 2.如何进入项目管理器 3.项目文件的扩展名是什么?

VisualFoxpro编程实例

实验五 Visual Foxpro编程实践 一. 实验目的与要求 掌握利用Visual Foxpro编制开发自己的应用程序的实践知识,并学会在程序调试中自行发现问题和修改程序代码,最终完成应用程序的无错运行。 二. 相关知识 利用Visual Foxpro自行开发编制应用程序的步骤: 1.设置好系统的工作环境(尤其注意工作目录的默认设置)。 2.如果是初次进行,应当先建立一个项目,为该项目命名,激活项目管理器。如果是接着上次的工作进行,则打开上次工作的本项目,同样也激活项目管理器。 3.在项目管理器的“数据”“数据库”下面创建一个数据库,并命名(如已创建,则跳过本步骤)。 4.在项目管理器的“数据”“数据库”“表”下面进行数据表的创建或修改工作,并输入少量的正确数据以便将来的运行调试(如果已经创建了数据表,则跳过本步骤)。 5.在项目管理器的“文档”下面创建该应用程序所用到的所有表单,设计好各表单的界面并为表单里的控件填写程序代码.(注意为表单添加各自的数据环境,否则会出错!) 6.试运行各表单,发现问题后重新修改有问题的表单的代码,反复调试和修改直至最后能无错运行。 7.将应用程序打包发布或制作成安装文件。 三. 实验容与步骤 本次实验以一个简单的学生成绩管理系统为例。首先,对该系统作一个简单的介绍:该应用系统为完成学生信息和成绩的管理系统,主要有以下几个应用模块: (1)用户登录管理:系统具有管理员功能,只有取得管理员权限的人才能使用本系统。 (2)数据添加功能:对学生基本信息、教师基本信息、班级信息、课程信息、学生成 绩信息进行添加录入。 (3)数据查询功能:对上述信息的基本查询。 (4)数据修改功能:对上述信息可进行修改工作。 (5)统计操作:可分别按个人成绩、单科成绩统计出最高成绩、最低成绩和平均成绩 等。 (6)打印功能:对上述信息可进行打印。 实验步骤如下: 1.数据库设计: 首先设置好系统的运行环境和工作目录,然后建立项目,为项目命名为“学生成绩管理系统”,激活项目管理器,并在在项目管理器的“数据”“数据库”下面创建一个数据库,命名为“学生成绩管理”,在“数据库”的“表”下面创建以下各数据表: 字段名称类型宽度 用户名字符型10 密码字符型10 字段名称类型宽度 学号字符型8 字符型10

《VFP数据库》试题及答案

****学院学年学期期末考试试题 (考试时间:120分钟) 1、请使用钢笔或圆珠笔进行答题,字迹要清楚,工整(有特殊要求需要用其他笔答题的试卷例外); 2、请在答卷前将密封线内的项目用正楷填写清楚,如所填写的信息不全造成无法登分,则后果自负; 3、客观题的答题要求写在指定的空处,主观题的答题须写在成教院统一印制的答题纸上,其他纸 一、选择(每小题2分,共70分) 1.VFP是一种________ 模型的数据库管理系统。 选择:A. 层次_ B. 网络_C. 对象_ D. 关系答案:D 2.目前三种基本的数据模型是________ 。 选择:A. 层次模型、网络模型、关系模型_ B. 对象模型、网络模型、关系模型_C. 网络模型、对象模型、层次模型_ D. 层次模型、关系模型、对象模型答案:A 3.VFP系统中,表的结构取决于___________ 。 选择:A. 字段的个数、名称、类型和长度_ B. 字段的个数、名称、顺序_C. 记录的个数、顺序_ D. 记录和字段的个数、顺序答案:A 4.数据库管理系统是________ 。 选择:A. 教学软件_ B. 应用软件C. 计算机辅助设计软件_ D. 系统软件答案:D 5.在定义表结构时,以下__________ 数据类型的字段宽度都是定长的。

选择:A. 字符型、货币型、数值型_ B. 字符型、货币型、整型_C. 备注型、逻辑型、数值型_ D. 日期型、备注型、逻辑型答案:D 6.下列说法中正确的是_____。 A.数据库打开时,该库中的表将自动打开 B.当打开数据库中的某个表时,该表所在的数据库将自动打开 C.如果数据库以独占的方式打开,则库中的表只能以独占方式打开 D.如果数据库中的某个表以独占方式打开,则库中的其它表也只能以独占方式答案:B 7.VFP系统中,使用查询设计器生成的查询文件中保存的是_______。 A. 查询的命令 B. 与查询有关的基表 C. 查询的结果 D. 查询的条件答案:A 8.对于创建新类,VFP提供的工具有:_____。 选择:A. 类设计器和报表设计器_ B. 类设计器和查询设计器_C. 类设计器和表单设计器D. 类设计器答案:C 9.VFP的循环语句有_____。 选择:A. DO WHILE,FOR和SCAN _ B. DO WHILE ,FOR 和LOOP _C. FOR,SCAN和LOOP _ D. DO CASE 和DO WHILE _ 答案:A 10.彻底删除记录数据可以分两步来实现,这两步是______。 选择:A. PACK和ZAP B. PACK和RECALL_C. DELETE和PACK D. DELE和 RECALL _ 答案:C 11.表之间的"临时性关系",是在两个打开的表之间建立的关系,如果两个表有一个关闭 后,则该"临时性关系" ______。 选择:A. 转化为永久关系B. 永久保留C. 临时保留D. 消失答案:D 12.下列控件均为容器类的是_____。

visualfoxpro知识点

第一章数据库系统概述 数据库系统(DBS):指引入数据库技术的计算机系统 特点:数据结构化,数据共享性高,程序和数据具有较高 的独立性,为用户提供良好的接口,统一管理和控 制数据,系统灵活,易于扩充. 数据库(DB):是存储在计算机设备上.结构化的相关数据的集合,不仅描述事物数据的本身,也包括相关事物之间的联系. 数据库管理系统(DBMS):是数据库系统中对数据进行管理的软件系统,是数据库的核心. 功能:数据定义功能,数据操纵功能,数据库管理和控制功能. 数据库管理员(DBA)的主要工作:数据库设计,数据库维护,改 善系统性能,提高系统效率 数据库设计的根本目的:解决数据资源共享问题 数据库系统的体系结构 概念模式:简称模式,是数据库中全体数据的逻辑结构和特征的描述, 是面向全部用户的公 共数据视图 外模式:又称子模式或用户模式是用户与数据库的接口. 内模式:又称物理模式或存储模式,描述数据在存储介质上的安排和存储方式。一个数据库只有一个内模式. 数据模型:客观事物及联系—概念模型—数据模型.

E-R模型:实体(矩形)属性(椭圆)联系(菱形) 在数据库设计阶段,将E-R图转化为关系数据模型的过程属于逻辑设计阶段。 两个实体间的联系:一对一的联系如班级与班长 一对多的联系如班级与学生 多对多的联系如学生与课程 数据模型有:层次模型,网状模型,关系模型:是用二维表结构描述,一张二维表就是一个关系 关系数据库 关系:一个关系就是一张二维表. 元组(记录):表中的一行. 属性(字段):表中的一列. 域:属性的取值范围. 关键字:一张表中的一列或若干列能够把不同的记录区分开来. 超关键字:二维表中能唯一确定记录的一列或几列,但它包含的字段可能是多余的. 候选关键字:如果超关键字去掉任何一个字段后都不能唯一确定,是候选关键字. 主关键字:外部关键字P10 关系的特点:(1)关系必须规范化.即表中不能再包含表. (2)同一关系中不允许出现相同的属性名. (3)关系中任意两个元组不能完全相同.

VisualFoxPro题库完整

1.8E+9是一个()。 A.存变量 B.字符变量 C.数值常量 D.非法表达式 2. 对数据表的结构进行操作,是在()环境下完成的。 A.表设计器 B.表向导 C.表浏览器 D.表编辑器 3. 扩展名为.dbc的文件表示() A.表文件 B.备份文件 C.数据库文件 D.项目文件 4. 在Visual FoxPro中,乘法和除法运算的优先级为() A.相同 B.乘法优先 C.除法优先 D.不确定 5. 表单文件的扩展名是() A. .scx B. .fxp C. .hlp D. .jdx 6. 在Visual FoxPro 中,APPEND命令的作用是() A.在表的任意位置添加记录 B.在当前记录之前插入新记录 C.在表的尾部添加记录 D.在表的首部添加记录 7. 下列常量中,只占用存空间1个字节的是() A.数值型常量 B.字符型常量 C.日期型常量 D.逻辑型常量 8. 以下赋值语句正确的是() A. STORE 8 TO X,Y B. STORE 8,9 TO X,Y C. X=8,Y=9 D. X,Y=8 9. 查询第一作者为“三”的所有书名及,正确的SQL语句是() A. SELECT 书名,FROM 图书WHERE 第一作者=三 B. SELECT 书名,FROM 图书WHERE 第一作者=“三” C. SELECT 书名,FROM 图书WHERE “第一作者”=三 D. SELECT 书名,FROM 图书WHERE “第一作者”=“三” 10. 在Visual FoxPro中,程序文件的扩展名为() A. .prg B. .qpr C. .scx D. .sct 11. 用二维表形式表示的数据模型是() A.层次数据模型 B.关系数据模型 C.网状数据模型 D.网络数据模型 12. 执行下面的语句后,数组M与N的元素个数分别为() DIMENSION M(6) , N(4,5) A.6 20 B. 6 5 C. 7 21 D. 6 9 13. Visual FoxPro中,一个表可以创建()个主索引。 A. 1 B. 2 C. 3 D. 若干 14. 1个工作区可以打开的数据表文件数为() A. 1 B. 2 C. 10 D. 15 15. 对于表单及控件的绝大多数属性,其数据类型通常是固定的,如Caption 属性接收() A.数值型数据 B.字符型数据 C.逻辑性数据 D.任意数据类型 16. 逻辑性数据的取值不能是() A. .T. 或 .F. B. .Y. 或 .N.

数据库的创建与表间关系的各种操作

学科实验报告 班级2010级金融姓名陈光伟学科管理系统中计算机应用实验名称数据库的创建与表间关系的各种操作 实验工具Visual foxpro 6.0 实验目的1、掌握数据库结构的创建方式 2、表间的关联关系 实验步骤一、建立数据库。 1、在项目管理器中建立数据库。首先选择数据库,然后单击“新建”建立数据库,出现的界面提示用户输入数据库的名称,按要求输入后单击“保存”则完成数据库的建立,并打开i“数据库设计器”。 2、从“新建”对话框建立数据库。单击工具栏上的“新建”按钮或者选择菜单“文件——新建”打开“新建”对话框,首先在“文件类型”组框中选择“数据库”,然后单击“新建文件”建立数据库,后面的操作和步骤与1相同。 3、用命令交互建立数据库。命令是create database【databasename ▏?】 二、表间关系的各种操作。 1、创建索引文件。可以再创建数据表时建立其结构复合索引文件,但是也可以先建立好数据表,以后再创建或修改索引文件。 2、索引的操作。A、打开与关闭。要使用索引,必须先要打开索引。一旦数据表文件关闭所有相应的索引文件也就自动关闭了。B、确定主控索引。可以使用命令确定当前主控索引。命令格式1:set order to 【tag】<索引标识>【ascending| desceding】命令格式2:use<表文件名>order【tag】<索引标识>【ascending | esceding】C、删除索引标识。要删除结构复合索引文件中的索引标识,应当打开数据表文件,并打开其表设计器对话框。在“索引”页面中选定要删除的索引标识后,单击“删除”按钮删除。 3、创建关联。在创建数据表之间的关联时,把当前数据表叫做父表,而把要关联的表叫做子表。必须保证两个要建立关系的数据表中存在能够建立联系的同类字段;同时要求每个数据表事先分别以该字段建立了索引。A、建立表间的一对一的关系。在“数据库设计器”窗口中选择M表中的字段,并按住左键拖到关联表H中对应字段上,放开鼠标左键。这是可以看到在两个表之间的相关字段上产生了一条连线,表明两个表之间已经建立了“一对一”关系。B、建立表间一对多的关系。将M表的名称字段MC设定为主索引,或者候选索引;H表中的JG字段已经设置成普通索引。在“数据库设计器”窗口中将MC字段拖到关联表中对应字段JG上,放开鼠标左键。这时可以看到在两个表之间的相关字段上产生了一条显然与“一对一”关联不同形式的连线,表明两个表之间已经建立了“一对多”关系。 4、调整或删除关联。A、删除关联。在数据库设计器对话框窗口中,首先必须用鼠标左键单击关联线,该连线变粗了说明它已被选中。如果要删除可敲【del】。也可以单击鼠标右键在弹出对话框窗口中单击“删除关联”选项。B、编辑关联。在数据库设计器对话框窗口中,首先必须用鼠标左键单击关联线,该连线变粗了说明已被选中。在主菜单“数据库”选项的下拉菜单中的“编辑关系”选项,也可以单击鼠标右键在弹出对话框窗口中单击“编辑关系”选项。 5、设置数据表之间的参照完整性。在对数据库表建立关联关系后,就可以设置两个相关数据表之间操作的有效性原则。这些规则可以控制相关表中的记录的插入、删除或修改。

VisualFoxPro测试题(一)

VisualFoxPro数据库应用技术综合测试题(一) 一、填空题(每空1分,共20分) 1.在表刚打开,索引文件没有打开时,记录指针指向第____条。 2.将多个子程序放在一个文件中,这个文件称为__________。 3.函数TYPE(“123”)的值是:______________。 4.视图与查询的根本区别是查询只能查阅指定的数据,而视图不但可以查阅数据,还可以____________。 5.在VF中,使用LOCATE ALL命令按条件对表中的记录进行查找,若查不到记录,函数EOF()的返回值是________。 6.一表中有6条记录,执行GO 3和INSERT BEFORE命令后,原表中的第3条记录的记录号变为___________。 7.VF中的变量分为_______和________。 8.函数ROUND(1.25617,2)的值是____。 二、选择题(每空2分,共60分) 1.VisualFoxPro是一种() A.DB(数据库)B.DBS(数据库系统) C.DBMS(数据库管理系统)D.OS(操作系统) 2.文件的扩展名为.PRG的文件是() A.数据库文件B.格式文件C.备注文件D.程序文件 3.若要中止部分语句执行而重新开始下一轮循环的命令是() A.LOOP B.EXIT C.SKIP D.GOTO 4.逻辑删除当前库文件的当前记录的命令是() A.CLEAR B.ZAP C.PACK D.DELETE 5.若要从字符串"澳门回归"取出"回归",正确的写法是() A.SUBSTR("澳门回归",5,4)B.SUBSTR(澳门回归,5,4)C.SUBSTR("澳门回归",3,2)D.SUBSTR("澳门回归",3,4) 6.日期型数据加整型数据的结果是() A.数值型B.逻辑型C.字符型D.日期型 7.修改名为worker.dbf库文件的结构,正确的命令是() A.CREATE worker.dbf B.CREATE worker C.MODIFY STRUCTUER D.MODIFY STRUCTURE TO PRINT 8.下列类型的字段长度用户可以自定的是() A.备注型B.逻辑型C.日期型D.字符型 9.刚打开库文件,显示1,2,3号记录的正确操作是() A.DISPLAY RECORD 3 B.LIST 1,2,3 C.DISPLAY NEXT 3 D.DISPALY 1,2,3 10.备注型字段中存放的是() A.字段值B.字符串C.Memo D.指向备注文件的指针 11、在Visual Foxpro6.0中,通常以窗口形式出现,用以创建和修改表、表单、数据库等应用程序组件的可视化工具称为-------。 A、向导 B、设计器 C、生成器 D、项目管理器 12、在Visual Foxpro6.0中,可对字段字段有效性规则的表---------。 A、必须是数据库表 B、必须是自由表 C、自由表或数据库表 D、不能设置字段的默认值 13、对数据表的数据进行操作,通常是在--------环境下完成的。 A、表浏览器 B、表向导 C、表设计器 D、表编辑器 14、下列关于表的索引的描述中,错误听是------。 A、复合索引文件的扩展名为.CDX B、结构复合索引文件随表的打开而自动打开 C、当对表编辑修改时,其结构复合索引文件中的所有索引自动维护 D、每张表只能建一个主索引和一个候选索引 15、若能够正常执行下面的命令,说明字段“修理日期”的类型是--------. REPLACE ALL 修理日期WITH DTOC(DATE()) A. 数值型 B. 字符型 C.逻辑型 D.日期型三、程序三、 三、程序填空题(每空2分,共50分) 1、如下程序是计算[1]的,执行后的结果是[2]。 STORE0TOx,y DOWHILE.T. x=x+1 y=y+x IFx>=100 EXIT ENDIF ENDDO

VisualFoxPro考试试题及答案

VFP考试试题及答案 一.单选题 1.关系模型的完整性不包括(A)。 A.迭代完整性 B.实体完整性 C.参照完整性 D.用户定义完整性 2.VisualFoxPro数据中的每一行称为(C)。 A.串标 B.行号 C.记录 D.编数 3.关系数据模型中的关系指的是(D)。 A.表行 B.表列 C.总和 D.二维表 4.常用的数据模型中有(C)。 A.比较模型 B.曲面模型 C.关系模型 D.对称模型 5.常用的数据模型中包括(A)。 A.层次模型 B.线性模型 C.双轨模型 D.瀑布模型 6.(A)是包含表中的一个或一组字段按一定顺序排列的数据列表。 A.索引 B.合并 C.列序 D.标号 7.数据库系统的三级模式中包括(B)。 A.循环模式 B.模式 C.高级模式 D.流行模式 8.常用的数据模型里有(B)。 A.回旋模型 B.网状模型 C.棱状模型 D.交叉模型 9.VisualFoxPro的表中每一列称作(A)。 A.字段 B.列标 C.名称 D.线型 10.数据库系统不包括(D)。 A.操作系统 B.数据表 C.数据库 D.计划书 11.数据模型描述的是(C)。 A.大小 B.颜色 C.事物间联系 D.特征 12.关系二维表中垂直方向的列称作(C)。 A.列名 B.特征 C.属性 D.行标

13.数据库系统三级模式中包括(A)。 A.外模式 B.层叠模式 C.交叉模式 D.圆环模式 14.数据库是指(A)的数据集合。 A.相关的 B.无序的 C.混合的 D.循环的 15.关系二维表中水平方向的行称作(A)。 A.元组 B.行标 C.数值 D.列值 16.数据库系统中不包括(B)。 A.数据库 B.空调 C.管理员 D.数据库管理系统 17.数据库系统的特点不包括(D)。 A.数据共享 B.减少数据冗余 C.避免不一致 D.数据交叉 18.数据库管理系统的英文缩写是(B)。 A.DA B.DBMS C.MANG D.GUANLI 19.数据库系统的组成中不包括(A)。 A.说明书 B.数据库管理系统 C.电脑主机 D.数据 20.关系二维表中列的取值围称作(A)。 A.域 B.值围 C.数据 D.区间 21.数据库的英文缩写是(C)。 A.SJK B.ABC C.DB D.OBJ 22.符合数据库特点的是(A)。 A.存储在计算机部 B.无序的 C.部无关的 D.用户独享 23.以下选项属于数值类数据的是(B)。 A.一二三 B.123 C.2012/2/1 D.ABC 24.关系R(D1,D2)的目等于(B)。 A.1 B.2 C.3 D.4 25.关系代数中的专门的关系运算中不包括(A)。 A.套用 B.选择 C.投影 D.连接 26.关系运算的类别中包括(C)。

visualfoxpro程序设计实验报告

VF程序设计实验报告 图书馆管理系统 专业: 学号: 姓名: 指导教师:

2010年12月31日 目录 第一部分系统概述--------------------------------2第二部分系统功能模块设计------------------------2第三部分系统数据库及表设计----------------------2第四部分系统菜单设计----------------------------5第五部分系统界面设计----------------------------6第六部分系统相关程序代码-----------------------13第七部分实验报告小结---------------------------22第八部分参考资料-------------------------------22

一、系统概述 近年来,随着图书馆规模的不断扩大,图书数量相应的增加,有关图书的各种信息量也成倍增加,面对庞大的信息量,传统的人工管理户导致图书管理的混乱,人力与物力过多的浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理。因此,为了充分发挥了图书馆的功效,最大限度地为读者服务,必须制定一套合理、有效,规范和实用的图书馆管理系统,对图书资料进行集中统一的管理。 根据上述需要,我们建立本图书馆管理系统。 根据图书、读者和管理员三者之间的关系,本系统主要实现读者对图书的查询、个人信息的修改和管理员对读者、图书的管理。 本系统采用作为开发工具。 二、系统功能模块设计 本系统可以完成一般图书馆关于图书查询、借阅及书库管理的主 要功能。其中:图书查询模块可以查询所需要的图书;读者管理模块 中,读者可以查看自己的信息,对登陆密码进行修改,管理员可以对

visualfoxpro的运算符与表达式

Visual FoxPro的运算符与表达式 运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符,而参与运算的数据称为操作数。表达式用来表示某个求值规则,它由运算符和配对的圆括号将常量、变量、函数、对象等操作数以合理的形式组合而成。 表达式可用来执行运算、操作字符或测试数据,每个表达式都产生唯一的值。表达式的类型由运算符的类型决定。在Visual FoxPro 6.0中有5类运算符和表达式: ?算术运算符和算术表达式 ?字符串运算符和字符串表达式 ?日期运算符和日期表达式 ?关系运算符和关系表达式 ?逻辑运算符和逻辑表达式 1.算术运算符与算术表达式 算术表达式也称数值型表达式,由算术运算符、数值型常量、变量、函数和圆括号组成,其运算结果为一数值。例如:50*2+(70—6)/8的运算结果为108.00。算术表达式的格式为: <数值1><算术运算符1><数值2>[<算术运算符2><数值3>…] (1)算术运算符 Visual FoxPro 6.0提供的算术运算符见下表。在这6个算术运算符中,除取负“-”是单目运算符外,其他均为双目运算符。它们运算的含义与数学中基本相同。 运算符名称说明 + 加同数学中的加法 - 减同数学中的减法 * 乘同数学中的乘法

/ 除同数学中的除法 ^或**乘方同数学中的乘方,如4^3表示43 %求余12%5表示12除以5所得的余数2 ? ( ) →^、** →*、/ → %→ +、- (2)表达式的书写规则 算术表达式与数学中的表达式写法有所区别,在书写表达式时应当特别注意: ?每个符号占1格,所有符号都必须一个一个并排写在同 一横线上,不能在右上角或右下角写方次或下标。例如:23要写成2^3,Xl十X2要写成X1+X2。 ?原来在数学表达式中省略的内容必须重新写上。例如:2X要写成2*X。 ?所有括号都用小括号(),且括号必须配对。例如: 3[x+2(y+z)]必须写成3*(x+2*(y+z))。 ?要把数学表达式中的有些符号,改成Visual FoxPro 6.0 中可以表示的符号。例如:要把2πr改为2*pi*r。 2.字符串运算符与字符串表达式 一个字符串表达式由字符串常量、字符串变量、字符串函数和字符串运算符组成。它可以是一个简单的字符串常量,也可以是若干个字符串常量或字符串变量的组合。Visual FoxPro 6.0提供的字符运算符有两个(其运算级别相同),见下表。 运算符名称 说明 +连接将字符型数据进行连接

vfp变量作用域试题

1、有如下ABC.PRG和XYZ.PRG两个程序, 写出执行命令Do ABC后的结果。**ABC.PRG Store 10 To a, b, c Do xyz With a, a+b, 10 ?a, b, c ?i, m, n Return **XYZ.PRG Para x, y, z Public i, m 60 Store 5 To i, m, n i=x+y X=y+z y=m+n ?x, y, z Return 2、有如下TEST.PRG 和SUB.PRG两个程序, 写出执行命令Do ABC 后的结果。* TEST.PRG Public a a=1 c=3 b=5 Do SUB ? “返回主程序:a, b, c, d=”, a, b, c, d Return *SUB.PRG Private c a=a+1 61 d=2 c=4 b=6 ? “过程中a, b, c, d=”, a, b, c, d Return 3、有下列两个程序,写出执行命令Do PROG1后的运行结果。 **PROG1.PRG X=“同学们” Y=“你们好!” ?X+Y Do SUBPRO ?X, Y, Z Return ** SUBPRO.PRG

Private X Public Z X=100 Y=200 Z=300 ?X+Y+Z Return 4、有以下3 个程序,写出执行命令Do TEST 后运行的结果。**TEST.PRG a=5 b=6 c=7 Do SUBI ?’a1, b1, c1=’, a, b, c Do SUB2 With a+b, c, 10 ?’a2, b2, c2=’, a, b, c Return * *SUB1.PRG Private b, c a=21 b=22 c=23 Return Do SUB1 Return **SUB2.PRG Parameter x, y, z ?’x, y, z=’, x, y, z x=31 y=32 z=33 63 Return 5、阅读下面两个程序,写出执行Do MAIN命令后的运行结果。**MAIN.PRG X1=1 X2=3 Do P1 With X1, X2 ? “X1=”+Str(X1, 1), “X2=”+Str(X2, 1) X1=2 X2=4 Do P1 With X1, X1+X2 ? “X1=”+Str(X1, 1), “X2=”+Str(X2, 1)

VisualFoxPro数据库编程函数大全

大全 数据库函数大全 VisualFoxPro数据库函数 ADATABASES()将所有打开数据库的名称和路径放到内存变量数组中 ADBOBJECTS()把当前数据库中的命名连接名、关系名、表名或sQL视图名放到一个内存变量数组中AFIELDS()把当前表的结构信息存放在一个数组中,并且返回表的字段数 ALIAS()返回当前表或指定工作区衰的别名 ASESSIONS()创建一个已存在的数据工作期ID数组 ATAGINFO()创建一个包含索引和键表达式的名字、数量和类型信息的数组 AUSED()将一个数据工作期中的表别名和工作区存入内存变量数组 BOF()确定当前记录指针是否在表头 CANDIDATE()判断索引是否为候选索引 CDX()根据指定的索引位置编号,返回打开的复合索引(.CDX)文件名称 CPDBP()返回一个打开表所使用的代码页 CREATEOFFLINE()由已存在的视图创建一个游离视图 CURSORGETPROP()返回VisualFoxPro表或临时表的当前属性设置 CURSORSETPROP()指定VisualFoxPro表或临时表的属性设置 CURSORTOXML()转换VisualFoxPro临时表为XML文本 CURVAL()从磁盘上的表或远程数据源中直接返回字段值 DBC()返回当前数据库的名称和路径 DBF()返回指定工作区中打开的表名,或根据表别名返回表名 DBSETPROP()给当前数据库或当前数据库中的字段、命名连接、表或视图设置一个属性 DELETED()返回一个表明当前记录是否标有删除标记的逻辑值 DESCENDING()是否用DESCENDING关键字创建了一个索引标识 DROPOFFLINE()放弃对游离视图的所有修改,并把游离视图放回到数据库中 EOF()确定记录指针位置是否超出当前表或指定表中的最后一个记录 FCOUNT()返回衰中的字段数目 FIELD()根据编号返回表中的字段名 FILTER()返回SETFILTER命令中指定的表筛选表达式 FLDLIST()对于SETmELDS命令指定的字段列表,返回其中的字段和计算结果字段表达式 FLOCK()尝试锁定当前表或指定表 FOR()返回一个己打开的单项索引文件或索引标识的索引筛选表达式 FOUND()如果CONTINUE、FIND、LOCATE或SEEK命令执行成功,函数的返回值为"真" FSIZE()以字节为单位,返回指定字段或文件的大小 GETFLDSTATE()返回一个数值,标明表或临时表中的字段是否已被编辑,或是否有追加的记录,或者记录的删除状态是否已更改 GETNEXTMODIFIED()返回一个记录号,对应于缓冲表或临时表中下一个被修改的记录 HEADER()返回当前或指定表文件的表头所占的字节数 IDXCOLLATE()返回索引或索引标识的排序序列 INDBC()如果指定的数据库对象在当前数据库中,则返回"真"(.T.) INDEXSEEK()在一个索引表中搜索第一次出现的某个记录 ISEXCLUSIVE()判断一个表或数据库是以独占方式打开的 ISFLOCKED()返回表的锁定状态 ISREADONLY()判断是否以只读方式打开表 ISRLOCKED()返回记录的锁定状态 KEY()返回索引标识或索引文件的索引关键字表达式 KEYMATCH()在索引标识或索引文件中搜索一个索引关键字 LOOKUP()在表中搜索字段值与指定表达式匹配的第一个记录 LUPDATE()返回一个表最近一次更新的日期

数据库与表的创建和使用

数据库与表的创建和使用 一、常用字段类型 1、字符型 2、数值型 3、日期型 4、逻辑型(T是,F否) 5、备注型 二、项目管理器 项目管理器是VFP中处理数据和对象的主要工具。项目管理器是系统的“控制中心”。一个项目是文件、数据、文档、对象的集合,项目文件以扩展名*.pjx保存。 创建一个项目文件的方法 1、CREATE PROJECT 项目文件名或? 2、文件—新建 3、工具栏“新建”按钮 二、数据库与表的概念 在VFP中有两种表:一种是自由表,它独立于任何数据库;一种是数据库表,它是数据库的一部分。 数据库和表是两个不同的概念。表是处理数据、建立关系数据库的应用程序的基础单元,它用于存储收集来的各种信息。而数据库是表的集合,它控制这些表协同工作,共同完成特定任务。 本节重点:数据库的创建和使用,数据库表的创建和使用,表的扩展属性,数据库表之间的关系的创建。 三、数据库的创建(*.dbc)

1、使用界面方式创建数据库:项目管理器、“新建”按钮 2、使用命令方式创建数据库 CREATE DATABASE 数据库文件名或? 四、打开数据库 OPEN DATABASE 数据库名或? 五、设置当前数据库 SET DATABASE TO 数据库名 六、修改数据库 MODIFY DATABASE 数据库文件名或? 七、关闭数据库 CLOSE DATABASE &&关闭当前数据库 CLOSE DATABASE ALL &&关闭所有数据库 八、删除数据库 DELETE DATABASE 数据库文件名或? 数据库表的创建和使用(*.dbf) 在VFP中,每个数据表可以有两种存在状态:自由表(即没有和任何数据库关联的*.dbf文件)或数据库表(即与数据库关联的*.dbf 文件)。属于某一数据库的表称为“数据库表”;不属于任何数据库而独立存在的表称为自由表。数据库表和自由表可以相互转换。 一、数据库表的创建

计算机技术基础VFP测试题(2)

计算机技术基础VFP测试题(2) 1、执行如下命令序列(设今天是 2002 年 8 月 3 日) store date() to m_date M_date=m_date-365 ?year(m_date) 的显示结果是 A) 其中有错误 B) 08/03/2001 C) 2002 D) 2001/ 2、执行命令 ?chr(65)+”K”的结果是 A) 65K B) AK C) aK D) 类型不匹配 3、Visual FoxPro 是一个 A) 8 位数据库开发系统 B) 16 位数据库开发系统 C) 32位数据库开发系统 D) 64 位数据库开发系统/ 4、要启动 Visual Foxpro 的向导可以 A) 打开新建对话框 B) 单击工具栏上的“向导”图标按钮 C) 从“工具”菜单中选择“向导”D) 以上方法均可以 5、以下日期值正确的是 A) {“2001-05-25”} B) {^2001-05-25} C) {2001-05-25} D) {[2001-05-25]} 6、在下面的 Visual Foxpro 表达式中,不正确的是 A) {^2001-05-01 10:10:10 AM}-10 B) {^2001-05-01}-DATE() C) {^2001-05-01}+DATE() D) [^2001-05-01]+[1000] 7、在下面的 Visual Foxpro 表达式中,运算结果是逻辑真的是 A) EMPTY(.NULL.) B) LIKE('acd','ac?') C) AT('a','123abc') D) EMPTY(SPACE(2)) 8、设 D=5>6,命令 ?VARTYPE(D) 的输出值是 A) L B) C C) N D) D 9、在下列函数中,函数值为数值的是 A) BOF() B) CTOD('01/01/96') C) AT('人民','中华人民共和国') D) SUBSTR(DTOC(DATE()),7) 10、表达式 VAL(SUBS(“奔腾586”,5,1))+LEN(“Visual Foxpro”) 的结果是 A) 13.00 B) 16.00 C) 18.00 D) 19.00 11、连续执行以下命令之后,最后一条命令的输出结果是 SET EXACT OFF X=“A “ ?IIF(“A”=X,X-”BCD”,X+”BCD”) A) A B) BCD C) ABCD D) A BCD 12、在 VFP 6.0 处于创建或编辑自由表、程序等文件时,系统处于"全屏幕编辑状态",欲存盘退出,正确的操作是 A)按组合键 Ctrl+W B) 按组合键 Ctrl+U C) 按组合键 Ctrl+End D) 按 Esc 键 13、在 VFP 6.0 中,项目的扩展名为_______ A) .DBC B) .TAB C) .IDX D) .PJX 14、在 VFP 6.0 数据表中,用于存放图像、声音等多媒体对象的数据类型是 A) 备注型 B)通用型 C) 逻辑型 D) 字符型 对多表进行操作时,选择工作区所使用的命令为_______ A) USE B) OPEN C) SELECT D) CREATE 15、在 Visual Foxpro 6.0 中,打开数据库使用的命令为_______

VFP程序设计教程习题答案

第一章 1.试说明数据与信息的区别和联系。 数据是人们用于记录事物情况的物理符号。信息是数据中所包含的意义。数据与信息既有区别,又有联系。数据是表示信息的,但并非任何数据都能表示信息,信息只是加工处理后的数据,是数据所表达的内容。另一方面信息不随表示它的数据形式而改变,它是反映客观现实世界的知识,而数据则具有任意性,用不同的数据形式可以表示同样的信息,信息只是加工处理后的数据,是数据所表达的内容。 2.什么是数据库、数据库管理系统和数据库系统? 数据库是在数据库管理系统的集中控制之下,按一定的组织方式存储起来的、相互关联的数据集合。 数据库管理系统(Database Management System,DBMS)是对数据进行统一的控制和管理,从而可以有效地减少数据冗余,实现数据共享,解决数据独立性问题,并提供统一的安全性、完整性和并发控制功能的系统软件。 数据库系统是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息服务的 系统。 3.简述数据库的三级模式结构。 为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设 计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、模 式和内模式。 模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数 据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。外模式又称子模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述。 4.数据库系统的特点是什么? 特点是数据共享,减少数据冗余,具有较高的数据独立性,增强了数据安全性和完整性保护。 5.实体之间的联系有哪几种?分别举例说明。

Visual FoxPro 命令

VFP命令、函数及程序语句大全(一) 学过VFP(Microsoft Visual FoxPro)的朋友都知道它是微软公司开发的数据库管理系统。它经历了从dBASE、FoxBASE、FoxPro直到VFP的发展过程。本文便以VFP 6.0为例介绍它的命令、函数及程序语句,为学习VFP的朋友提供必要的学习参考,也为已经精通VFP的朋友提供复习的好机会。 一主要命令: 1、CREATE 作用:建立一个新的表。 格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。)说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。 2、MODIFY STRUCTURE 作用:显示表文件结构,并允许修改此表的结构。 格式:MODIFY STRUCTURE 说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。 3、APPEND 作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。 格式:APPEND [BLANK] 说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。 4、INSERT 作用:在表文件中间插入一个新记录。 格式:INSERT [BEFORE] [BLANK] 说明:INSERT 在当前记录后插入一记录; INSERT BEFORE 在当前记录前插入一记录; INSERT BEFORE BLANK 在当前记录前插入一空记录。 5、BROWSE 作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。 格式:BROWSE 6、USE 作用:打开和关闭表文件。 格式:USE [<文件名>] USE 说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的备注文件(.fpt文件);后一个命令关闭当前打开的表文件。 7、LIST和DISPLAY 作用:显示表(.dbf)的内容、结构或状态。 格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>] LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>] LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>] 说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:RECORD n 第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL 所有的记录。不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号分隔。WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的条件查找所有满足条件的记录。TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上打印出来和将显示结果输出到

相关文档
最新文档