您好,欢迎访问三七文档
1第三部分VisualFoxPro6.0基本操作第7章视图与查询2本章内容提要设计视图使用视图查询设计定制查询运行查询3视图和查询是数据库中数据在屏幕上的一种输出格式。查询可对数据库中数据按指定的内容和顺序进行多样化的输出。视图不仅可以查询,而且还能更新数据,但输入格式不如查询灵活多样。localview(本地视图)——使用当前数据库中VisualFoxPro表的视图。remoteview(远程视图)——一种视图,使用当前数据库之外的数据源,例如MicrosoftSQLServer。4§7.1设计视图在应用程序中,若要创建自定义并且可更新的数据集合,可以使用视图。视图兼有表和查询的特点:与查询相类似的地方是,可以用来从一个或多个相关联的表中提取有用信息,形成“虚表”;与表相类似的地方是,可以用来更新其中的信息,并将更新结果永久保存在磁盘上。视图不是单独存在的,它依赖于某一数据库。即只有打开相关数据库后才能创建和使用视图。5§7.1.1利用视图设计器创建单表视图步骤:(1)打开数据库文件(以XSDA数据库为例),进入“数据库设计器”窗口;(2)打开选择主菜单“数据库/新建本地视图”,进入“新建本地视图”对话框;(3)选择“新建视图”按钮,进入“视图设计器”窗口,并出现“添加表或视图”对话框;(4)将要建立视图的数据表(如:XSDA数据表)添加到“视图设计器”窗口后,关闭“添加表或视图”对话框;6§7.1.1利用视图设计器创建单表视图(5)在“视图设计器”窗口的“可用字段”列表中,选择数据表中需出现在视图中的字段(如数据表XSDA中除“简历”、“照片”外的字段);(6)字段选择完毕后,按“视图设计器”窗口的关闭按钮,随之出现“要将所做更改保存到视图1中吗?”的确认对话框;(7)按下“是”,进入视图“保存”对话框;(8)在视图“保存”对话框的“视图名称”栏输入创建的视图名字(xsda视图)后,“确定”。至此,视图被存入打开的数据库中。7§7.1.2利用视图设计器创建多表视图步骤:(1)打开数据库文件(以XSDA数据库为例),进入“数据库设计器”窗口;(2)打开“数据库”菜单,选择“新建本地视图”,进入“新建本地视图”对话框;(3)选择“新建视图”按钮,进入“视图设计器”窗口,并出现“添加表或视图”对话框;(4)将要建立视图的数据表(如:XSDA和XSCJ数据表)添加到“视图设计器”窗口后,关闭“添加表或视图”对话框;8§7.1.2利用视图设计器创建多表视图(5)在“视图设计器”窗口的“可用字段”列表中,选择数据表中需出现在视图中的字段(如XSDA中的“学号”、“姓名”,XSCJ中的“课程编号”、“成绩”字段等);(6)字段选择完毕后,按“视图设计器”窗口的关闭按钮,随之出现“要将所做更改保存到视图1中吗?”的确认对话框;(7)按下“是”,进入视图“保存”对话框;(8)在视图“保存”对话框的“视图名称”栏输入创建的视图名字(xsda和xscj视图)后,“确定”。9说明:多表之间必须有关联,否则在步骤(4)向“视图设计器”添加第二个表时弹出“联接条件”对话框:其中:内部联接(innerjoin)——只有当联接字段的值相等时,才将两个表的记录进行结合并添加到视图中。即创建一个联接,它只列出“左字段列表”中与“右字段列表”中所选字段相匹配(值相等)的记录。10例如:XSDA和XSCJ视图选择按“学号”内部联接后的结果11说明:外部联接(outerjoin)——该联接还可包括那些和联接表中记录不相关的记录。可以创建一个外部联接的三种变形来指定所包括的不匹配行:左外部联接——创建一个联接,输出左侧表的所有记录,如右侧表无相关记录,则相应字段填入.NULL.。例如:XSDA和XSCJ视图选择按“学号”左联接后的结果12说明:右外部联接——创建一个联接,输出右侧表的全部记录,若左侧表中无相关记录,则相应字段用.NULL.代替。例如:XSDA和XSCJ视图选择按“学号”右联接后的结果13说明:完全外部联接——创建一个联接,输出关联表中所有记录,不论它们是否匹配。相当合并了左联接和右联接。例如:XSDA和XSCJ视图选择按“学号”完全联接后的结果14§7.1.3利用视图向导创建视图步骤:(1)打开数据库文件(以XSDA数据库为例),进入“数据库设计器”窗口;(2)打开“数据库”菜单,选择“新建本地视图”,进入“新建本地视图”对话框;(3)选择“视图向导”按钮,进入“本地视图向导”对话框;15步骤1-字段选取可以从几个表或视图中选取字段。首先从一个表或视图中选取字段,并将它们移动到“选定字段”框中,然后从另一个表或视图中选取字段,并移动它们。16步骤2-为表建立关系从两个下拉式列表中选择字段,然后选择“添加”。如果在视图中使用多个表,必须通过指明每个表中哪个字段包含匹配数据来联系这些表。单表视图无此步,直接跳到步骤3。17步骤2a-包含记录通过只从两个表中选择匹配的记录或者任何一个表中的所有记录,可以限制查询。默认情况下,只包含匹配的记录。如果想创建一个内部联接,可选择“仅包含匹配的行”。如果想创建一个外部联接,可从一个表中选择所有行。18步骤3-筛选记录通过创建从所选的表或视图中筛选记录的表达式,可以减少记录的数目。可以创建两个表达式,然后用“与”连接,将返回同时满足两个指定条件的记录,如果用“或”连接,则返回至少符合其中一个条件的记录。选择“预览”,查看基于的筛选条件返回的记录。19步骤4-排序记录最多选择三个字段或一个索引标识以确定视图结果的排序顺序。选择“升序”视图将按升序排序,选择“降序”视图按降序排序。20步骤4a-限制记录可以通过指定一定百分比的记录,或者选择一定数量的记录,来进一步限制视图中的记录数目。例如,要查看前10个记录,可选择“数量”,然后在“部分值”框中输入10。步骤4无设置则跳过此步21步骤5-完成向导保存视图之后,可以像其它视图一样,在“视图设计器”中打开并修改它。有三种存盘选择:保存本地视图保存本地视图并浏览保存本地视图并在“视图设计器”中修改22§7.2使用视图使用视图比使用数据表或数据库更方便。在对数据表进行操作时,要对全部数据进行操作;同样在对数据库操作时,要提供数据库中所有表的关系。而视图操作简单得多,可以只处理数据表中与某一问题有关的数据,或只处理几个数据表中有用的数据。视图可以增强数据的共享性,保证不同的用户使用同一个数据库时,选择各自最需要的数据源;视图可以增强数据的安全性,保证用户只对与自己相关的数据进行操作。23§7.2使用视图视图建立之后,不但可以用它来显示和更新数据,而且还可以通过调整它的属性来提高性能。处理视图类似于处理表,可以:使用USE命令并指定视图名来打开一个视图。使用USE命令关闭视图。在“浏览”窗口中,显示视图记录。在“数据工作期”窗口中显示打开的视图。在文本框、表格控件、表单或报表中使用视图作为数据源。24§7.2.1用视图浏览数据步骤:(1)打开视图所在的数据库文件,进入“数据库设计器”窗口,激活视图;(2)打开“数据库”菜单,选择“浏览”,进入浏览窗口(或单击右键,用快捷菜单)。例1:浏览“XSDA视图”例2:浏览“XSDA和XSCJ视图”比较“XSDA视图”与“XSDA”数据表的区别比较“XSDA和XSCJ视图”与“XSDA”、“XSCJ”数据表的区别25§7.2.1用视图浏览数据在VFP系统环境下,一个数据表可以建立多个视图,使得一个数据表有多种数据浏览格式,大大提高了数据的利用率。多个关联的数据表可以组成一个多表视图,这不仅使多个数据表间建立了相互联系,而且提高了数据的利用率,极大地丰富了数据的内容。26§7.2.2用视图更新数据(1)打开视图(利用“数据库/新建本地视图”所建的视图)所在的数据库文件,进入“数据库设计器”窗口,激活视图;(2)打开“数据库”菜单,选择“修改”,进入“视图设计器”窗口;(3)选择“更新条件”选项卡,进入另一对话框;(4)选择要更新数据的字段名(在符号的列下划);选中“发送SQL更新”复选框,可把视图的更新结果返回数据表中;关闭“视图设计器”窗口;(5)打开视图,对视图内容的修改可直接反映到相关连的数据原表中。27“更新条件”选项卡视图关键字段列(钥匙图标)——用来标识那些已在本地修改过的更新记录,一个表至少一个关键字段;可更新字段列()——只有设置了该列的字段才可更新SQLWHERE——更新冲突检查,解决多用户访问同一数据源时可能的一致性问题;使用更新——当记录中的关键字更新时,决定发送到源表中的更新语句使用哪种SQL命令;重置关键字——恢复原关键字的初始设置发送SQL更新——只有选中该项,才能更新源表数据。
本文标题:VF基本操作
链接地址:https://www.777doc.com/doc-4010295 .html