- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十 匕届全国数据库学术会议论文集 技〔术报告篇)
解决VFPb.0基于多表查询时联接条件中
存在问题的两种方案及其实现
曲维光
南〔京师范大学 南京 210097)
TheProblemsinjoinmnditiombasednomulti-tablequeryinVisualF-Pro6.0pro
grartuntingarediscussedandtheshorncrningswiththernarepointedout.7wochen,e,of.mpmve
tnentarepresentedandimplementedonC language,thusthefeasibilityisshown
KeywardsVisualFoxpro6.0 Query Joinocndition
1 引 言
VisualFoxPm6.0(简称VFP)之所以得到广大用户的喜爱,主要原因之一就是可视化强,使用户在整
个软件开发过程中,以一种可视化的方式,利用其提供的向导、设计器等工具进行设计,简化了许多原本要
由程序员利用编程才能完成的工作
但在利用VFP进行软件设计的过程中,我们发现,在进行多表查询设计时,对多表间联接条件进行设
定的过程中,该软件仍存在许多明显不足之处。
由于该问题同样存在于建立多表间视图M-)的设计过程中,而多表查询和视图又是数据库管理系
统设计中重要的环节.所以该问题就更显得重要,需要采取措施加以解决 以便更好地方便用户操作_
2 问题的提出及讨论
在创建多表查询时,一个重要步骤便是建立诸表之间的联接条件
当向查询中添加多个表时1如果新添加的表与已加人查询中的表之间在数据库中已经建立起永久性
关系,则系统将以该永久性关系作为默认的联接条件;否则,系统会打开.联‘接条件”对话框,并以两个表间
同名字段作为狱认的联接条件 如果所有的表中都没有同名字段,则对话框中的联接条件为空白。此时,
可以创建其他的联接条件_如果按 “取消”按钮,则不建立任何联接二
利用数据库中已经建立起的永久性关系,作为多表间默认的联接条件 其设计思想是合理的。因为多
表间的永久性关系反映了各表间内在的必然联系 而多表间查询,大多基于各表间这种内在的联系来对
查询结果进行限定,以产生相互联系的记录集合。利用这种默认的联接条件,便叮以避免用户手动建立联
接条件 从而方便用户
但在使用过程中,我们发现该产品存在许多潜在的问题。利用VFP进行两表间查询,效果是理想的。
在进行三表及以上查询时,便会出现问题
在向查询设计器中添加表以后.便会产生一个只读的哭L语句。但该语句可能会产生以下一些问题:
1某些已经添加到查询设计器中的表,在某些添加表的顺序下,会不出现在-be、子句中
2因为添加表顺序的关系,可能使一个表在wh,子句中出现多次
3.where子句中表的顺序与no子句的顺序搭配不当,造成在将该SQL语句存盘时,产生错误信息
设有结构及数据如图1,2所示数据库。S个表中,每个字段均为3字节字符型
182
盯1干 一一
第十七届全国数据库学术会议论文集(技术报告篇)
若以Tablew-T.1,1ec-mblee-Tabled-Tableb顺序加人S张表,生成的SQL语句为:
SELECT-;/FROM qwg!tabletINNERJOINqwg!tabled;/INNERJOINqwg!tablm;/INNERJOIN
q-彭 tableb;/INNERJOINqwg!tablet;/ONTableb.bl二T‘ablet.c2;/ONTables.al=Tableb.b2;/ON
Tabled.dl二Tablee.e2;/ONTablet.c(=Tabled.d2
其运行结果如图3.错误。此时,可将该SQL语句存盘成为查询文件
当关闭该数据库后.再执行此查询文件,将出现对话框,提示错误信息:AliasTablaeisnotfound.(别名为
文档评论(0)