此模块主要用于数据的输入,没有修和删除的功能比较单一,但是可以批量的进行输入,作为输入可以说非常的实用,简单而不缺少功能。使用起来非常容易上手。由于输入时怕两个表发生混淆,所以在编写的时候把两个库的输入分开来写,不容易让使用者产生误操作。对于输入模块主要的两个表单为input.scx和input1.scx。input1.scx用于教师基本信息的输入,而input.scx则是应用在教师教学信息管理。
3.1.2文件中的查找模块
此模块主要用于数据的查找,主要应用的是SQL语言加 visual foxpro8.0控件而作出来的,查找模块则是把两个库的查询控件都放在一个表单上了,退过一个命令按钮组来实现两个表单之间的切换,因为查找对数据产生的错误没有直接的影响,所以才考虑把两个库放在一起操作的。由于有SQL语句的帮助,使查找的结果非常易懂一目了然。这个模块主要是放在search.scx中。
3.1.3文件中的浏览模块
此模块主要用于数据的浏览,这个模块使用了一个page的控件同样是把两上表放在一起浏览(其实只是将控件连接到两个自由表),用page控件把两个表分开,由于没有数据浑淆的危险,所以也没有考虑将其分开来。这个模块主要放在native.scx中。
这里主要列出了几个模块的流程图
程序的总体思想图
1.登录模块的流程图
2.主界面的流程图
3.浏览介面
4.添加模块的流程图
5.管理模块流程图
由于整个项目有两个表所以不论什么模块都有两上,这里说明有可能只说一个有两个都被说到,但是确是相同的。
内容提要:主要介绍在数据库管理系统中实现模糊查询的方法与技巧,提供了能实现真正模糊查询的二个通用函数的源程序,特别是介绍了结构化查询语言SQL中鲜为人知的通配符的使用方法。关键词 FoxPro 模糊查询 SELECT-SQL 通配符中图分类号 TP311.13
在数据库管理系统中,查询是一个很重要的内容。然而,在多数情况下人们不能准确知道作为查询条件的字段内容,如:某字段内容为“涪陵师范高等专科学校”,查询者可能只知道其简称“涪陵师专”或“涪师专”,这时,为保证能查到满足条件的数据记录,只能进行模糊查询。下面从编程的角度谈谈在FoxPro 2.5b中,实现模糊查询的方法。
一、 简单的模糊查询方法
① 利用比较操作符“=”进行模糊查询。先把SET EXACT的设置置为OFF,这时,“=”用于两个字符表达式之间作比较,其规则是:“=”右边的字符逐个与“=”左边相同位置的字符进行比较,只要遇到其中一个字符不相等,或者“=”右边的字符表达式结束,比较操作就结束。所以,"abc"="abc","abc"="ab","ab_"="ab","ab"=""的比较结果均为逻辑真(.T.)。可见,这种方法的模糊性是不能令人满意的。
② 利用“$”进行包含比较,其模糊查询的效果就比用“=”时好得多。这种方法是在“$”右边的字符表达式中查找“$”左边的字符表达式,若找到返回逻辑真(.T.),否则返回逻辑假(.F.)。用这种方法只要“$”左边的字符表达式的每一个字符在“$”右边的字符表达式中存在且位置不间断,查找就能成功,然而对于诸如前面提到的“涪陵师专”或“涪师专”之类的简称,其查找结果为逻辑假(.F.)。
由此可见,直接利用“=”和“$”进行比较操作是不能太“模糊”的。
二、查询条件为缩略语或简称的模糊查询方法
缩略语或简称在地名、单位名称中使用非常广泛。通常,缩略语或简称是由全称中的某些排列位置不连续的字符组成的,因此,通过设置不同长度的字符串进行比较的规则,或者利用包含比较符“$”,是不能对缩略语或简称进行模糊查询的。这时可编写一通用的自定义函数,将用户输入的查询条件(<字符串2>)与字符型字段变量(<字符串1>)进行逐字比较,如果<字符串2>是<字符串1>的缩略语或简称,则返回逻辑真(.T.)否则返回逻辑假(.F.),从而实现模糊查询。
下面将作者所编写的自定义函数介绍给读者,以供参考。