基于VFP6.0环境复合条件查询设计实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于VFP6.0环境复合条件查询的设计与实现
摘要:数据查询(query)就是从数据库表中检索满足条件的数据,数据查询是数据库的核心操作。数据查询可分为单表查询、多表查询、单一条件查询和复合条件查询等。文章主要从设计思路、具体实现和事件代码三个方面阐述在vfp6.0环境中基于多表复合条件查询的设计与实现。
关键词:数据查询 vfp6.0 组合条件
中图分类号:tp311.32 文献标识码:a 文章编
号:1674-098x(2011)12(b)-0017-01
随着计算机技术的不断发展和应用,信息在现代社会和国民经济中占据了主导地位,信息资源的开发和利用水平已经成为衡量一个国家综合国力的重要标志之一。在计算机的主要三大应用领域(科学计算、数据处理和过程控制)中,数据处理是计算机应用领域中的一项很重要的内容,它主要利用计算机存储和管理数据。
1 数据库表和视图的建立
对于vfp6.0而言,数据库是与特定主题和任务相关的数据集合,是包含了多种容器的对象。vfp数据库包含存储数据的表、视图、查询、连接和存储过程多个对象。a依附任何数据库,前者称为数据库表,后者叫自由表;视图是从一个或几个基本表(或视图)导出的
虚拟表,当基本表中的数据发生变化,视图中的数据也跟随基本表
的变化而变化。换句话说视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。视图操作和基本表的操作相似,
主要应用于多表查询、统计等操作。在vfp6.0先建立名为student 的数据库,数据库中的表以及由表所导出的cj视图如图1所示。
2 基于学生成绩视图的复合条件的设计与实现
2.1 设计思路
在创建的表单中,添加输入查询数据的文本框和显示查询结果的表格,根据文本框的输入值,将查询结果显示在表格中,一旦文本框的值发生变化,表格中的查询结果也随之发生相应的变化。故特选择文本框的interactivechange事件输入程序代码,每在文本框键入一个字符,系统就发会发生一次查询。这样一来,即可实现系统模糊查询或精确查询,若用户的输入有误,可在第一时间提醒用户,以便提高用户的操作实效。
2.2 具体实现
在vfp6.0中建立如图2所示的表单
2.3 事件过程代码
在该表单的load事件中定义查询操作所用到的变量,代码如下: public zy,kcm,xb,xm,xb,exps
zy=““
kcm=““
xb=““
xm=““
xm=““
exps=“.t.”
在text1文本框中的interactivechange事件中如下的代码: zy=allt(thisform.text1.value)
xb=allt(thisform.text2.value)
kcm=allt(thisform.text3.value)
xm=allt(thisform.text4.value)
select 学生成绩
if not empty(zy)
exps=exps+” and allt(专业)=zy “
endif
if not empty(xb)
exps=exps+” and allt(性别)=xb”
endif
if not empty(kcm)
exps=exps+” and allt(课程名)=kcm”
endif
if not empty(xm)
exps=exps+” and allt(姓名)=xm”
endif
set filter to &exps[3]
count to xs
if xs==0
messagebox(“对不起没有找到你要查询的记录”)
endif
go top
thisform.grid1.refresh
分别在text2、text3和text4文本框的interactivechange事件中分别输入thisform.text1.interactivechange代码。
程序主要使用了vfp6.0记录过滤器 set filter to语句和宏替换函数(&即替换出字符型变量的内容)实现复合条件查询,该查询
不仅可实现记录的模糊查询或精确查询,还可进行简单条件查询或复合条件查询。文中程序代码通俗易懂,易学易用,且全部调试通过,用户可以直接使用,也可以根据实际需要进行修改使用。
参考文献
[1] 王珊,萨师煊.数据库系统概论[m].北京:高等教育出版
社,2006.