模糊查询在有线电视数据库管理系统中的应用.docVIP

模糊查询在有线电视数据库管理系统中的应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模糊查询在有线电视数据库管理系统中的应用   摘要:在数据库管理系统中,“查询”是一个很重要的内容。然而,在多数情况下人们在数据库开发中并不能准确地应用模糊查询的方法。现从编程的角度对此进行了研究,总结在有线电视数据库管理系统中(VFoxPro)实现模糊查询的一些通配符的使用方法。   关键词:模糊查询;数据库管理;应用   中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)21-30505-02      Fuzzy Inquest Application in Cable TV Database Manage System   LI Peng-cheng   (Gaoyou Radio and Television Situation,Yangzhou 225600,China)   Abstract: Inthe database manage system, “inquest” is very important content. But in most cases,we can not apply the method of “fuzzy inquest” accurately. Now, Iresearchabout it and summarize the using method of some widcard to realizefuzzy inquestin database system .   Key words: fuzzy inquest;database manage;apply      1 引言      本人从事数据库开发多年,先后自编了“有线电视管理系统、电视摇奖系统”,深切感受到“查询”是一个很重要的内容。然而,在多数情况下人们并不能知道查询对象在数据库字段中的准确内容,如:某字段内容为“高邮市广播电视局”,查询者可能只知道其简称“广播电视局”或“广电局”,这时,为保证能查到满足条件的数据记录,只能进行模糊查询。      2 简单的模糊查询方法      2.1 利用比较操作符“=”进行模糊查询   先把SET EXACT的设置为OFF,这时,“=”用于两个字符表达式之间作比较,其规则是:“=”右边的字符逐个与“=”左边相同位置的字符进行比较,只要遇到其中一个字符不相等,或者“=”右边的字符表达式结束,比较操作就结束。所以,abc=abc,abc=ab,ab_=ab,ab=的比较结果均为逻辑真(.T.)。可见,这种方法的模糊性是不能令人满意的。   2.2 利用“$”进行包含比较,其模糊查询的效果就比用“=”时好得多   这种方法是在“$”右边的字符表达式中查找“$”左边的字符表达式,若找到返回逻辑真(.T.),否则返回逻辑假(.F.)。用这种方法只要“$”左边的字符表达式的每一个字符在“$”右边的字符表达式中存在且位置不间断,查找就能成功,然而对于诸如前面提到的“广播电视局”或“广电局”之类的简称,其查找结果为逻辑假(.F.)。   由此可见,直接利用“=”和“$”进行比较操作是不能太“模糊”的。      3 查询条件为缩略语或简称的模糊查询方法      缩略语或简称在地名、单位名称中使用非常广泛。通常,缩略语或简称是由全称中的某些排列位置不连续的字符组成的,因此,通过设置不同长度的字符串进行比较的规则,或者利用包含比较符“$”,是不能对缩略语或简称进行模糊查询的。这时可编写一通用的自定义函数,将用户输入的查询条件()与字符型字段变量()进行逐字比较,如果是的缩略语或简称,则返回逻辑真(.T.)否则返回逻辑假(.F.),从而实现模糊查询。   下面将本人所编写的自定义函数介绍给大家,仅供参考。   设计思想:此函数必须是一个通用函数。为此,执行时可先接受二个参数──和。从的左边开始取其第一、二个字符X1,用AT( )函数测试X1在中的位置S1,如果S1不为0,就将中包含X1以及左边部分的字符截掉,并取中的第三、四个字符X2,用AT( )函数测试X2在的剩余部分中的位置S2,若S2不为0,就将的剩余部分中包含X2以及左边部分的字符截掉……,直到将中的字符取完并在中测试完为止,最后本函数返回逻辑真(.T.)。在这个过程中只要有一次测试不成功(即Sn=0),则退出本函数并返回逻辑假(.F.)。因为一个汉字占二个ASCII字符,所以每次取二个相邻字符进行测试(让 LPC.PRG中的KK=2)。这样做,一是可以减少测试比较的次数,提高程序运行速度。二是当中含有数字、字母等半角字符时,可以减少满足条件的记录数目,提高查询的命中率。然而,若查询条件中含有英文缩写,则每次只能取一个ASCII字符进行测试(让LPC.P

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档