visualfoxpro60程序设计教程电子教案第6章(编辑修改稿)内容摘要:
部记录和子表中关键字段相匹配的记录,对应于关系中的左联接的设置结果。 生成的本地视图中包含Courses表中全部记录和父表中关键字段相匹配的记录,对应于关系中的右联接的设置结果。 生成的本地视图中包含表中所有的记录,对应于关系中的完全联接的设置结果。 本例中选用默认值:仅包含匹配的行。 然后单击 【 下一步 】 ,进入步骤 3——筛选记录。 2020/6/28 Visual FoxPro 44 本地视图向导:步骤 3——筛选记录 说明: 本地视图向导的筛选记录与查询向导的筛选记录的方式类似。 在本例中不筛选记录。 单击 【 下一步 】 ,进入到本地视图向导的步骤 4——排序记录。 2020/6/28 Visual FoxPro 45 本地视图向导:步骤 4——排序记录 说明: 在这一步中设置在本地视图的记录顺序。 本例中可先按“学号”排序,学号相同的再按“课程代号”排序。 操作方法与建立查询的记录排序方法相同。 先在“可用字段”列表框中选择 “学号”,然后单击 【 添加 】 ,再选择“课程代号”,再单击 【 添加 】 如上图。 排序字段及顺序设置后单击 【 下一步 】 ,进入本地视图向导:步骤 4a——限制记录。 2020/6/28 Visual FoxPro 46 本地视图向导:步骤 4a——限制记录 限制记录的方法与建立查询的限制记录的方法完全相同。 在本例中仍保持在本地视图中包含所有的记录,因而取默认值,直接单击 【 下一步 】 ,进入本地视图向导:步骤 5——完成。 在第 5步中的操作方法也与建立查询的方法相同,现选择“保存本地视图并浏览”,然后单击 【 完成 】。 弹出“视图名”对话框。 在“视图名”文本框中输入“视图 1”。 输入视图名后单击 【 确认 】 按钮,系统显示所建立的本地视图的结果。 本地视图向导结束。 2020/6/28 Visual FoxPro 47 利用视图设计器创建本地视图 通过本地视图向导建立数据库视图虽然方便,快捷,但这仅对入门者如此,何况用视图向导建立数据库视图最终还要依赖视图设计器。 因此,倾向独立进行开发的程序员来说,仅仅学会使用向导是远远不够的,还应学会使用视 图设计器的强大功能来创建视图。 ( 1) 进入视图设计器 进入视图设计器的方法与进入查询设计器的方法基本相同,下面以新建视图的方式进入视图设计器。 2020/6/28 Visual FoxPro 48 启动视图设计器方法 新建一个视图可按以下步骤进入视图设计器: ■选择 【 文件 】 |【 新建 】 命令,单击“视图”单选框,再单击【 新建文件 】 按钮。 ■在数据库设计器中,选择 【 数据库 】 |【 新建本地视图 】 或单击数据库设计器的快捷菜单中的 【 新建本地视图 】 |【 新视图 】按钮。 ■在项目管理器中,单击“数据”选项卡,在列表框中选定“本地视图”,再单击 【 新建 】 按钮,单击 【 新建视图 】 按钮。 修改一个视图可按以下步骤进入视图设计器: ■ 在数据库设计器窗口中 , 单击选定需要修改的视图 , 选择 【 数据库 】 |【 修改 】 命令。 ■ 在数据库设计器窗口中 , 右击需要修改的视图 , 在出现的快捷菜单中选择 【 修改 】 命令。 ■在项目管理器中,单击 【 数据 】 选项卡,在列表框中选定需要修改的视图,单击 【 修改 】 按钮。 2020/6/28 Visual FoxPro 49 “视图设计器”工具栏说明 添加表 移去表 添加联接 显示 SQL窗口 最大化上部窗格 添加表:显示“添加表或视图”对话框,从而可以向设计器窗口添加一个表或视图 移去表:从设计器窗口的上窗格中移去选定的表。 添加联接:在视图中的两个表之间创建联接条件 显示 /隐藏 SQL窗口:显示或隐藏建立当前视图的 SQL语句 最大化 /最小化上部窗口:放大或缩小视图设计器的上窗格 2020/6/28 Visual FoxPro 50 ( 2)从表中选择所需字段 在进行本地视图设计器之前,先建立 Classzc表和 Department表,表结构和数据如下: 2020/6/28 Visual FoxPro 51 通过上述方式之一打开视图设计器,在进入设计器之前,需要选定数据库和表,现选定 GXGLXT数据库 ,如右图: 从中选定表 Classzc并单击 【 添加 】按钮,然后单击 【 关闭 】 按钮,启动视图设计器。 2020/6/28 Visual FoxPro 52 视图设计器 进入视图设计器后,第一步先需要选定字段,选定字段可直接通过字段选项卡进行。 其操作方法与查询设计器中选择字段的方法相同。 2020/6/28 Visual FoxPro 53 从“可用字段”列表框里选定 ,单击【 添加 】 按钮或双击该字段,则 Classzc. 班级简称字段将会出现在右边的“选定字段”列表框中。 本次建立的视图里,还需要选定 、。 它们选定的方法与选定 Classzc. 班级简称字段一样。 如果需选定字段是“可用字段”列表框中的所有字段,可以单击 【 全部添加 】 按钮,这样就把所有字段添加到了“选定字段”列表框中去了,可以通过 【 移去 】 按钮将其移出来。 如果需要全部移出,可以利用 【 全部移去 】 按钮快速移出。 要将表中的字段添加到“选定字段”列表框中,除了上述方法外,还可以将鼠标指向视图设计器上部窗口中的表窗口中的字段上,按住鼠标左键或右键拖动一个字段到“选定字段”列表框,该字段就被加入到了“选定字段”列表框中。 还可以通过双击字段名将其加入到“选定字段”列表框。 表窗口中的*代表表中的全部字段,它也是可以拖动或双击的。 若要从“选定字段”列表框中移去字段,也可以使用鼠标拖动或双击。 2020/6/28 Visual FoxPro 54 “字段”选项卡还有一个 【 属性 】 按钮和一个“函数和表达式”文本框。 只要“选定字段”列表框中有一个值, 【 属性 】 命令按钮就成为可选的了。 选择 【 属性 】 后,出现图: 2020/6/28 Visual FoxPro 55 属性设置可分为五种类型:字段有效性、显示、匹配字段到类、数据匹配和注释。 其中字段有效性、显示、匹配字段到类和注释在第 3章中介绍数据表设计时已经作过说明,视图设计和数据表设计在字段属性上基本类似。 “函数和表达式”文本框及其按钮: “函数和表达式” 文本框用于输入一个函数和表达式,具体操作只需单击“函数和表达式”文本框后的对话按钮,在随后出现的表达式生成器中书写函数或表达式。 此选项的功能是为了生成一个虚拟的字段。 后面的创建步骤与本章前述的用查询设计器设计查询相似,在此不一一阐述。 ( 3) 建立多表关联 前面主要是针对单一的本地表建立视图,虽然很容易,但它的实际功能不大。 因为在实际开发中,系统的数据库很复杂,表的关联性很强,用户关心的往往是一些复杂的数据,因此需要建立多表视图。 2020/6/28 Visual FoxPro 56 从定义上讲,多表视图指的是:视图中的字段来源于两个或两个以上的表。 但是,在视图中表间的关系既不像数据库中的关系是永久的,也不像表中的关系是暂时的,它不靠索引字段进行联接,而是通过定义一个联接表达式来进行联接,表间的关系是松散的。 可以按如下办法建立表间的联接: ■在视图设计器中单击“联接”选项卡即可设置多表间的关联。 ■在“添加表或视图”对话框中,选定表后,单击 【 添加 】 按钮,当视图设计器中的表在两个及以上时,视图设计器就会为选定的表建立关联。 说明: 用以上的方法建立多表关联,必须有多个表添加到了视图设计器中。 后续的操作方法与设计多表查询相似,除不同点外,相同的部分这里不再讲述。 下面我们来建立表 Department、 Classzc、 Student、 Courses和Grade五表之间的关联的视图, 起名为视图 3。 2020/6/28 Visual FoxPro 57 ( 4)与设计多表查询不相同的部分 ——更新条件 视图的最大特点在于能用视图更新数据,这也是建立视图与建立查询的主要区别,也是视图的重点所在。 视图设计器中的“更新条件”选项卡可以用来设置允许视图更新表字段的条件。 2020/6/28 Visual FoxPro 58 “更新条件”选项卡选项包括如下内容: ■ “表”:指定视图所使用的哪些表可以修改。 选择这个下拉列表框中的选项,可以确定哪些表中的字段可以在“字段名”列表框中,以便设置更新条件。 此列表中所显示的表都包含了“字段”选项卡“选定字段”列表中的字段。 ■ 【 重置关键字 】 :这个按钮作用是从每个表中选择主关键字字段作为视图的关键字字段。 每个主关键字字段是在“字段名”列表中的、在钥匙符号下面打一个对钩的字段,关键字字段可 2020/6/28 Visual FoxPro 59 可用来使视图中的修改与表中的原始记录相匹配。 ■ 【 全部更新 】 :可以从字段名文本框中看到一些字段前的铅笔符号下打了一个对钩,这表明这些字段可以更新。 在这个按钮中可以选择除了关键字字段以外的所有字段来进行更新,并在“字段名”列表的铅笔符号下打一个对钩。 ■“ 发送 SQL更新 ” :指定是否将视图记录中的修改传送给原始表。 如果选择了这个复选框 , 将把在视图中对记录字段的修改返回到源表中。 ■“ 字段名 ” 列表框:显示了从 “ 表 ” 列表框中所选的表中的字段 、 并用来输出这些字段 , 不过这些字段都是可以更新的。 在字段文本框中共有下列 3种方式字段: ● 关键字段 ( 使用钥匙符号作标记 ) , 指定该字段是否为关键字段。 ● 可更新字段 ( 使用铅笔符号作标记 ) , 指定该字段是否为可更新字段。 ● 字段名 , 显示可标志为关键字字段或可更新字段的输出字段名。 2020/6/28 Visual FoxPro 60 ■ “SQL WHERE 子句包括”: ●“关键字段”:如果在原始表中有一个关键字字段被改变,设置 WHERE子句来检测冲突,对于由另一用户对表中原始记录的其他字段所做修改不进行比较。 ●“关键字和可更新字段”:设置 WHERE子句来检测由某一用户修改了任何可更新的字段的冲突。 ●“关键字和已修改字段”:如果从视图首次检索(默认)以后,关键字字段或原始表记录的已修改字段中,某个字段做过修改,设置 WHERE子句来检测冲突。 ●“关键字段和时间戳”:如果自原始表记录的时间戳首次检索以后,它被修改过,设置 WHERE子句来检测冲突。 只有当远程表有时间戳列时,此选项才有效。 ■“使用更新”:此单选按钮组用于指定字段如何在后端服务器上进行更新。 ●“ SQL DELETE然后 INSERT”:指定先删除原始表记录后,再创建一个新的在视图中被修改的记录。 ●“ SQL UPDATE”:指定用视图字段中的内容来修改原始表中的字段。 具体说明如何设置更新条件详见。 返回 2020/6/28 Visual FoxPro 61 用已有的 SQL SELECT语句创建视图 同查询一样,可用 SELECT—SQL语言创建视图。 若用 SELECT—SQL建立视图,则可用下列 SELECT—SQL语句: 格式: SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] [Alias.] Select_Item [AS Column_ Name] [, [Alias.] Select_Item [AS Column_Name] ...] FROM [FORCE] [DatabaseName!] Table [[AS] Local_Alias] [[INNER|LEFT [OUTER]| RIGHT [OUTER] |FULL [OUTER] JOINDatabaseName!] Table [[AS ]Local_Alias] [ON Join- Condition…] [[INTO Destination]|[TO FILE FileName [ADDITIVE]|TO PRINTER [PROMPT]|TO SCREEN]] [PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT] [WHERE JoinCondition [.AND. JoinCondition ...] [.AND.|.OR. FilterCondition [.AND.|.OR. FilterCondition ...]]] [GROUP BY GroupColumn [, GroupColumn ...]] [HAVING FilterCondition] [UNION [ALL。visualfoxpro60程序设计教程电子教案第6章(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。