首页 理论教育 Visual FoxPro 6.0数据库与程序设计

Visual FoxPro 6.0数据库与程序设计

时间:2023-10-19 理论教育 版权反馈
【摘要】:图4-36视图设计器有 7个选项卡,像查询设计器一样,它们的名称和操作基本一样。系统会根据视图源表的情况,显示各字段的默认标记。否则即使关闭视图本次修改也不起作用,需要立即再一次打开视图。

Visual FoxPro 6.0数据库与程序设计

1.视图的预览、显示、运行

在“视图设计器”状态下预览:

方法1:单击VFP常用工具栏的运行“!”按钮,执行视图的查询结果。

方法2:单击VFP系统菜单“显示”,单击浏览(B)视图1。

方法3:单击VFP系统菜单“查询”,单击运行查询(R)。

在“数据库设计器”(保存视图后)状态下显示:

方法4:双击数据库中的某一视图(如“男教师”)来运行视图。

方法5:单击某一视图(如“男教师”),在“数据库设计器”。工具栏中单击“浏览表”按钮来运行视图。

方法6:菜单方式:单击VFP系统菜单“数据库”,单击“浏览”。

方法7:命令方式:在“命令窗口”状态下输入如下命令:

【说明】在使用USE命令前,首先应打开包含此视图的数据库,然后在命令窗口中输入下面完整的命令。

2.视图的修改

(1)项目管理器方式。

在“项目管理器”中,单击“数据”选项卡前面的加号,单击数据,单击数据库,单击教学管理,单击本地视图,单击男教师,单击右边的“修改”按钮,进入“视图设计器”进行修改。

(2)命令方式。

【格式】MODIFY VIEW <视图名>,在命令窗口输入完命令后就进入了视图设计器

例如:修改“男教师”视图。

(3)视图设计器方式。

视图的修改也是在视图设计器中进行的。在数据库中只要选择待修改的视图,右击视图“男教师”,选择“修改”选项,即可打开视图设计器。视图修改的方法与上述建立视图的方法类似。例如:修改视图使得显示结果为按姓名读音排序。右击“男教师”出现快捷菜单选择“修改”,单击“视图设计器”中的“排序依据”选项卡,双击“姓名”,在排序选项框单击“升序”单选钮。单击常用工具栏的运行“!”按钮,执行查询结果。看姓名是否按姓名发音排序了,保存视图退出。

3.重新命名视图

(1)项目管理器方式。

通过项目管理器可以很方便地重命名视图和删除视图。

在项目管理器方式下,找到欲重新命名的视图。在项目管理器中的单击“数据”前面的加号,单击数据,单击数据库,单击教学管理,单击本地视图,单击男教师,单击VFP系统菜单“重新命名文件”,出现“重命名文件”对话框,重新录入视图名,单击“确定”即可。

(2)命令方式。

【格式】RENAME VIEW <原来的视图名> TO <新的视图名>

首先应打开包含此视图的数据库,然后在命令窗口中输入上面的命令。

例如:将“教学管理”数据库中“男教师”的视图重新更名为“男教师视图”。

4.删除视图

有多种方法可以删除视图,下面一一加以介绍。

(1)项目管理器方式。

在“项目管理器”中,找到要删除的视图。选择“数据”选项卡前面的加号,单击数据,单击数据库,单击教学管理,单击本地视图,单击男教师,单击右边的“移去”按钮,单击对话框中“移去”按钮即可删除。删除视图以后就不能恢复,请单击“移去”前一定考虑好再动手操作。

(2)数据库方式。

在“数据库设计器”状态下,单击(即选中)视图“男教师”,单击VFP系统菜单“数据库”,单击“移去”,出现对话框选择“移去”即可。

(3)视图设计器方式。

右击视图“男教师”,选择“删除”选项,单击“移去”即可。

(4)命令方式。在命令窗口输入下面的命令。

【格式】DELETE VIEW <视图名>

【说明】要求在删除视图之前,包含此视图的数据库必须打开。

例如:将“教学管理”数据库中“男教师”的视图删除。

(5)SQL命令,在命令窗口输入下面的命令。

【格式】DROP VIEW <视图名>

例如:将“教学管理”数据库中“男教师”的视图删除。

5.使用视图

视图的适用场合许多,在数据库中可以用到视图对表中的数据的进行查询,在今后的学习中“表单”的数据源除了数据表以外视图也可以作为数据源。视图的数据源除了数据库中的数据表以外视图也可以作为数据源。自由表也可以作为视图的数据源。(www.xing528.com)

(1)更新数据。

可以通过视图实现对本地或远程数据表的更新,这是视图十分重要的一个功能。在“视图设计器”中,“更新条件”选项卡控制对视图中的数据修改应反馈到源数据表中,而且还可以控制对表中的特定字段定义是否为可修改字段。

图4-36

视图设计器有 7个选项卡,像查询设计器一样,它们的名称和操作基本一样。其中主要是仅多了一个“更新条件”选项卡。

例如:通过对“男教师”姓名的修改就可以对“教师”表的姓名字段的修改。若建立了“男教师”视图,打开视图设计器中的“更新条件”选项卡,如图4.36所示。

设置参数的步骤如下。

1)设置字段标记。

在“字段名”下拉列表框中列出了选定表的全部字段名,在这些字段名左面的两列是标记列。其中“钥匙”列用来确定关键字段,系统通过关键字使得视图和源表相联系。所以,必须指定了关键字以后,系统才允许选择可以通过视图更新源表的字段。

系统会根据视图源表的情况,显示各字段的默认标记。如果是源表中设置为主索引的字段,那么在该字段前面的“钥匙”列中,就会显示出一个对勾。用户可以根据需要,单击字段名前面的按钮,来设置关键字标记。单击“重置关键字”按钮,可以恢复系统默认的初始状态。

设置好关键字以后,在“字段”列表框中又出现了“铅笔”标记。与该关键字同属于一个源表的字段,就都允许在“铅笔”列设置更新标记了。有了铅笔标记的字段才允许视图修改的字段带回源表中。可以单击“全部更新”按钮将全部字段定义为可更新字段。可将“男教师”视图设定为如图4-37所示的形式,且只允许更新姓名字段。

图4-37

2)发送SQL更新。

必须选择此复选框,否则虽然视图中的数据修改了但源表的数据根本不改变。“发送SQL 更新”用来确认用户选定的更新字段的数据在视图中变更后可以发送到原始表中。应该单击复选框选定该选项。

例如,将“男教师”中的“刘成”的名字改成“刘晓成”。需要特别强调的是字段的值更新后,一定要将光标移到别的记录上,系统才会接受更新,并将更新结果传回到源数据表中。否则即使关闭视图本次修改也不起作用,需要立即再一次打开视图。才能将更新结果传回到源数据表的教师表中。另外把编号也顺便修改一下看一看有什么变化,如图4-38所示。

关闭“男教师”视图,重新打开“男教师”视图,或者打开教师数据表在浏览窗口中观察,发现教师表中数据姓名已经改变了,而编号原封不动,如图4-39所示。

图4-38

图4-39

(2)查看视图的SQL。

在“视图设计器”窗口。可用下面三种方法之一察看SQL语句:

1)在打开“视图设计器”情况下,单击VFP系统菜单“查询”下拉菜单,单击“查看SQL”选项,如图4-40所示。

图4-40

2)在打开“视图设计器”情况下,右击“视图设计器”在快捷菜单中单击“查看SQL”选项。

3)在打开“视图设计器”情况下,在视图设计器的工具栏中,单击“SQL”按钮。

通过查看视图SQL我们可以知道SQL命令格式是怎样书写的,它是一种学习SQL命令好方法。

(3)带参数的视图。

有时我们要对视图的查询结果部分要求条件由运行时临时给出。比如说查找教师表中所有姓刘的教师,这时的视图就是一个带参数的视图。下面举例说明怎样查姓刘的教师信息,即带参数的视图。

【例4-6】利用视图设计器建立一个视图,查找姓刘的教师信息。

1)首先打开“教学管理.dbc”数据库,参见图4-1,然后VFP常用单击工具栏“新建”按钮,单击视图,单击新建文件,参见图4-2,接着出现如图4-14所示的画面。

图4-41

2)视图设计器状态下选择需要的表,在“添加表或视图”窗口中的“数据库中的表”双击“教师”表。然后单击“关闭”按钮,关闭“添加表或视图”窗口。

3)在“字段”选项卡中选择想要的字段,方法是双击编号、双击姓名、双击性别,如图4-15所示。

4)单击筛选选项卡,在筛选选项卡中单击字段名下拉选择框的黑三角选择“姓名”字段,在条件框中选择等号“=”默认值,在实例中输入“?姓名”。并把光标移动到下一行。出现如图4-41所示的画面。

5)单击VFP常用工具栏的运行“!”按钮,执行视图的查询结果。出现的画面如图4-42所示,要求输入姓名。

6)在输入框中输入带纯英文引号的"刘",然后单击“确定”按钮。出现所有姓刘的教师的信息,如图4-43所示。

图4-42

图4-43

若在输入姓名时不想输入姓名两边的引号可以这么做,在视图设计器单击VFP系统菜单“查询”→视图参数→在参数名中输入姓名,类型中必须选择字符型。这时在输入姓名时就可以省略掉姓名两边的英文双引号,大大地方便了用户的使用。

单击浏览窗口的“关闭”按钮,关闭浏览窗口。单击视图设计器的“关闭”按钮,关闭视图设计器窗口。出现保存视图对话框。

7)保存视图,单击视图设计器的关闭按钮,出现对话框是否保存视图,参见图4-18。选择“是”按钮,输入视图名:“查找姓x教师”,单击“确定”。

8)这时就关闭视图设计器窗口,而在数据库窗口中就多了一个“查找姓x教师”的视图。

9)双击数据库中的“查找姓x教师”的视图。就出现要求输入姓名的对话框,输入一个带英文双引号的"刘",单击“确定”按钮接着就出现所有姓刘的教师编号、姓名、性别的浏览画面,如图4-43所示。与图4-43略有区别的只是标题栏的名称不同。标题栏的名称由“视图1”改为“查找姓x教师”。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈