计算机VFP实验9 创建本地视图和远程视图
在VFP中用远程视图实现数据的安全性
在VFP 中用远程视图实现数据的安全性周松 秦嘉杭 周晓飞(南京财经大学 计算机系,南京210003)摘 要:本文介绍了Visual FoxPro 中远程视图的功能和使用方法,并提出了一种利用远程视图,解决Visual FoxPro 中数据安全性的问题。
关键词:Visual FoxPro ;远程视图;安全性Realizing the Data Security by Using Remote View in VFPZhou Song Qin Jiahang Zhou Xiaofei(Dept. of Computer, Nanjing University of Finance & Economics, Nanjing 210003, China)Abstract:The authors illustrate the function and usage of remote view in Visual FoxPro. Taking advantage of remote view, they provide a solution to the data security in Visual FoxPro.Key Words:Visual FoxPro; remote view; security——————————————————VFP 是微软公司出品的关系数据库产品。
支持网络、多媒体、约束和触发器,提供了面向对象的功能,并内镶有SQL 语言。
VFP 还提供有如向导、设计器、生成器等许多工具,用户利用这些工具可以方便快速地生成功能强大的表单、菜单、查询和视图等。
由于VFP 简单易用,功能强大,并且和FOXPRO 、FOXBASE 兼容,在国内有着大量的用户。
但是,VFP 不支持数据的安全性,在安全性要求较强的应用领域使用VFP 有一定的困难。
不过,利用VFP 中的远程视图功能,将数据存放到其它有数据安全功能的数据库中,如ACCESS 的数据库,来解决这一问题。
视图的创建与应用教案
《数据库visual foxpro》教案教学内容:视图的创建与应用教学目标:1、掌握视图的创建方法及步骤2、培养提高学生逻辑思维能力以及分析、解决问题的能力教学重点:视图的创建方法教学难点:利用视图设计器创建本地视图教学过程:(一)复习1、数据库表关系的建立2、设置参照完整性(二)导入新课由怎样同时进行多表浏览引入(三)新课教学1、视图的定义:视图是Visual FoxPro提供的一种定制的、可更改的数据集合。
它是一个定制的虚拟表,为用户提供了一种浏览、使用Visual FoxPro表中数据的有力工具。
2、视图的特点:视图是程序和表的组合,视图是不能单独存在的,它依赖于某一数据库且依赖于某一数据表而存在,是基于数据库的,不是“图”,而是观察表中信息的一个窗口,相当于定制的浏览窗口。
3、视图的分类:本地视图和远程视图。
4、启动视图设计器的方法:方法一:在“文件”菜单,单击“新建”,选中“视图”方法二:在“项目管理器”中方法三:在“数据库设计器”。
方法四:用命令方式 create view5、多媒体操作利用视图设计器创建本地视图。
例一:根据xsda数据库,创建一个单表本地视图“学生表视图”,视图中包含“学号”、“姓名”、“性别”、“入学总分”4个字段内容。
按学号升序排列步骤:(1)打开数据库文件“xsda.dbc”,进入“数据库设计器”窗口。
(2)打开“新建”菜单,选择“视图”项。
(3)单击“向导”,进入“本地视图向导——步骤1-字段选取”窗口。
(4)在该窗口中,可以从几个表或视图中选取字段。
(5)条件筛选(6)排序:选择“学号”作为索引字段,并按“升序”排列。
(7)单击“完成”,输入创建视图的名称“学生表视图”,单击“确认”(8)视图可以像表一样进行操作,如双击它的窗口可以进入“浏览”窗口;或者采用打开“数据库”菜单,选择“浏览”选项,进入视图“浏览”窗口。
6、学生思考下例再演示例二:根据数据库xsda.dbc,创建一个多表本地视图“多表视图”,要求该视图中包含“学号”“姓名”“出生日期”“专业号”“专业名称”6个字段,这些字段来自于表xsqk.dbf和zymc.dbf7、利用视图更新数据(四)课堂小结1、视图是一张虚表,不能单独存在2、视图保存在数据库中,要打开视图须先打开该数据库(五)布置作业P105-106 一、1、8、9 二、1、7、9、10。
vfp实验报告 实验九 创建视图(视图设计器 )
实验九创建视图一、实验内容1.启动"视图设计器":(1)在项目管理器中选择"全部"或"数据"选项卡,选择"本地视图",单击"新建"按钮,单出"新建本地视图"对话框。
在"新建本地视图"对话框中单击"新建视图"按钮,进入"视图设计器"窗口,与"查询设计器"窗口相比较,除了多了个"更新条件"选项卡之外,其他都是相同的.2.添加表:步骤如下(1)打开"视图设计器"窗口后,弹出"添加表或视图"对话框。
(2)在该对话框中,选中要添加的表,单击"添加"。
比如添加学生表。
①"字段"选项卡:在"查询设计器"中,选择"字段"选项卡, 在"可用字段"列表中列出了查询数据环境中选择的数据表的所有字段;在"选定字段"框中设置在查询结果中要输出的字段或表达式;"函数和表达式"框用于建立查询结果中输出的表达式."选定字段"框中行的顺序就是查询结果中列的顺序. ②"联接":进行多表查询时,需要把所有有关的表或视图添加到查询设计器的数据环境中,并为这些表建立联接.这些表可以是数据表,自由表或视图.当向查询设计器中添加多张表时,如果新添加的表与已存在的表之间在数据库中已经建立永久关系,则系统将以该永久关系作为默认的联接条件.否则,系统会打开"联接条件"对话框,并以两张表的同名字段作为默认的联接条件。
联接类型说明内部联接两个表中的字段都满足联接条件,记录才选入查询结果联接条件左边的表中的记录都包含在查询结果中,而右边的表中的记录只有满足联左联接接条件时,才选入查询结果联接条件右边的表中的记录都包含在查询结果中,而左边的表中的记录只有满足联右联接接条件时,才选入查询结果完全联接两个表中的记录不论是否满足联接条件,都选入查询结果③筛选:查询既可查询所有记录,也可以查询所有满足条件的记录.指定选取记录的条件可使用"查询设计器"的"筛选"选项卡。
实验九 视图的创建与使用
实验九视图的创建与使用(一)实验目的1、理解视图的概念。
2、掌握创建视图、测试、加密视图的方法。
3、掌握更改视图的方法。
4、掌握用视图管理数据的方法。
实验内容及步骤一、实验内容:使用企业管理器和查询分析器创建、管理视图。
二、实验步骤:1、用T-SQL语言创建、管理视图(1)创建视图1)创建一个名为stud_query_viewl的水平视图,从数据库JWGL的student表中查询出性别为“男”的所有学生的资料。
USE JWGLGOCREATE VIEW stud_query_viewlASSELECT * FROM studentWHERE sex =’男’2)创建一个名为stulquery_view2的投影视图,从数据库JWGL的student表中查询出性别为“男”的所有学生的学号,姓名,性别,系别和年龄等资料。
USE JWGLGOCREATE VIEW stud_query_view2ASSELECT sno AS 学号,sname AS 姓名,ssex AS 性别, sdept AS 系别,sage AS 年龄FROM studentWhere ssex = ‘男’WITH CHECK OPTION /*强制视图上执行的所有修改语句*/ 必须符合由select语句设置的准则*/3)创建一个名为“stud_query__view3”的视图,它是由表course、sc创建的一个显示选修了“数据库”这门课的学生的成绩的视图。
USE JWGLGOCREATE VIEW stud_query__view3WITH ENCRYPTIONASSELECT ame AS 课程名,cname as 课程号,sno AS 学号,grade as 成绩FROM sc, courseWHERE o=o AND course=‘数据库’)4)创建一个从视图stud_query_viewl中查询出系别为IS的所有男学生的视图。
VFP实验报告
实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验一:熟悉VFP开发环境(验证性,3学时)一、实验目的1.熟悉VFP集成开发环境;2.项目管理器的使用;3.常用命令的使用;二、实验内容1.在硬盘上新建一个以自己学号命名的文件夹,并将此文件夹设置为默认目录.要使此设置关闭VFP系统后再进入VFP系统时仍然有效该如何保存?2.设置日期格式为年月日格式,年份四位数显示和两位数显示如何设置,以短划线”-”作为日期分隔符,要使以上设置关闭VFP系统后再进入VFP系统时失效该如何保存?3.如何将现在小数点后只保留2位改成保留更多的位数?4.定制工具栏操作:如何将调色板工具栏里的红色添加到常用工具栏里?5.在默认目录下建立“学生成绩管理”项目文件和“学生成绩”数据库.分别在项目中建立数据库和不在项目中建立数据库,比较他们的区别;6.观察上述第5题的操作过程中命令窗口中出现的命令,并指出各命令的作用;7.退出VFP系统的命令是什么?有哪些方法可以退出VFP系统?三、实验环境1.硬件:学生用微机、局域网环境2.软件:Windows 2000中文操作系统、Visual Foxpro 6.0四、实验步骤(描述实验的具体操作步骤和方法,内容见后附的手写材料)五、实验调试与结果分析(描述实验的调试过程,实验中发生的现象、中间结果、最终得到的结果,并进行分析说明,分析可能的误差或错误原因等.内容见后附的手写材料)六、总结(说明实验过程中遇到的问题及解决办法;新发现或个人的收获;未解决/需进一步研讨的问题或建议新实验方法等.内容见后附的手写材料)实验一:熟悉VFP开发环境1. 先在D盘建一个文件夹,并将其命名为092221004.在桌面打开VFP系统,在菜单栏上选择“工具”“选项”,此时跳出一个选项框,选定“文件位置”中的“默认目录”,然后选择“修改”,将其设为“D\092221004”,最后选择“设为默认值” ,“确定”,即可.2. 在桌面打开VFP系统,在菜单栏上选择“工具”“选项”,此时跳出一个选项框,选定“区域”,然后在“日期格式”栏的下拉选项中选择“年月日”;勾选“日期分隔符”和“年份(1998或98)”项,并在“日期分隔符”其后面输入“-”;最后选择“设为默认值” ,“确定”,即可.3. 在桌面打开VFP系统,在菜单栏上选择“工具”“选项”,此时跳出一个选项框,选定“区域”,然后在“小数位数”项输入小数位数的多少,最后选择“设为默认值” ,“确定”,即可.4. 在桌面打开VFP系统,在菜单栏上选择“显示”,此时跳出一个工具栏对话框,勾选“调色板”后选择右边的“定制”,跳出定制工具栏,在“分类”中选定“调色板”,在其右边中选定红色,并将其拖动到主窗口,关闭定制工具栏,最后将其移到常用工具栏下.5. 打开VPF系统,在菜单栏上选择“文件”,在“文件”的下拉栏中选定“新建”弹出新建选框,在左边的“文件类型”中选定“项目”然后点击右边的“新建文件”弹出创建的对话框,在该对话框的项目文件框中键入“学生成绩管理”后点击“保存”.在菜单栏上选择“文件”,在“文件”的下拉栏中选定“新建”弹出新建选框,在左边的“文件类型”中选定“数据库”然后点击右边的“新建文件”弹出创建的对话框,在该对话框的数据库名框中键入“学生成绩”后点击“保存”.区别: 如果是在项目中建立数据库,则命令窗口不会显示命令.6. “CREATE PROJECT”是建立项目文件命令,“CREATE DATABASE”是建立数据库命令,“ MODIFY DATABASE”打开默认目录下的数据库,“MODIEF PROJECT”是打开默认目录下的项目文件7. 退出VFP系统的命令是“Quit”;其他退出VFP系统的方法:方式一:单击应用程序窗口中的“关闭”按纽.方式二:在“文件”菜单中选择“退出”命令.方式三:在命令窗口中键入QUIT命令.方式四:同时按下Alt和F4组合键.方式五:单击应用程序窗口左上角的控制菜单图标,从弹出的菜单中选择“关闭”命令.或者双击控制菜单图标.实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验二:数据类型、函数和表达式(验证性,3学时)一、实验目的1.VFP变量的使用;2.VFP函数的使用;3.VFP表达式的使用;二、实验内容1.熟悉内存变量的命名规则,举例说说正确的内存变量名和不正确的内存变量名,并在命令窗口中加以测试;2.测试两种内存变量的赋值命令(=和STORE),分别给变量赋以不同数据类型的值,用type函数测试其数据类型;3.分别定义一个一维数组和二维数组,并用type函数测试数组元素未赋值时的数据类型及察看未赋值数组元素的值;给同一数组的不同的数组元素赋以不同数据类型的值;4.测试常用的系统函数的用法并观察其结果(有关表的函数除外);5.测试不同数据类型数据为空的值(即用EMPTY()函数进行测试);6.设X=3,Y=10,求Ln|-y|+e xy(1-y)的值;设a=3,b=5,c=2,求ax2+bx+c=0的根;7.求以下逻辑表达式中各个关系表达式的值,并求出逻辑表达式的值:“Z”>[z].AND.(’ABCLL’=‘ABC’.OR.3^2!=LEN([VISUAL FOXPRO]) ) 三、实验环境1.硬件:学生用微机、局域网环境2.软件:Windows 2000中文操作系统、Visual Foxpro 6.0四、实验步骤(描述实验的具体操作步骤和方法,内容见后附的手写部分)五、实验调试与结果分析(描述实验的调试过程,实验中发生的现象、中间结果、最终得到的结果,并进行分析说明,分析可能的误差或错误原因等.内容见后附的手写部分)六、总结(说明实验过程中遇到的问题及解决办法;新发现或个人的收获;未解决/需进一步研讨的问题或建议新实验方法等.内容见后附的手写部分)实验二:数据类型、函数和表达式1. 输入 temp=”How are you?”输入”use 20 to A”?temp 跳出”命令中含有不能识别的短语或关键字”How are you2. 在命令窗口中输入①命令格式一②命令格式二Temp=2*3+5-8 store 0 to X1 X2 Y1 Y2?temp ?X1,X2,Y1,Y25 0 0 0 0?type(’temp’) 所以其数据类型为数值型N3.一维数组:DIMENSION X(3) 二维数组:DIMENSION a(2,3)未赋值时: dimension x(3) 未赋值时: dimension a(2,3)?type (’x(3)’) ?type (’a(2,3)’)L 所以是逻辑型 L赋值时: dimension x(3) 未赋值时: dimension a(2,3)x(1)=2 a(2,3)=’world’x(2)=4 ?a(2,3)store x(1)+x(2) to x(3) world? x(3)64.字符整理函数 ?LEN(’’HELLO’’) 5 C的长度系统测试函数 ?FILE(”student.dbf”) 测试制定文件是否存在数值型函数 ?ABS(-2,0) 2.0 绝对值5.? Empty (0) T6. ① x=3 ② a=3y=10 b=5? loy(abs(-y))+exp(x*y)*(1-sqrt(y)) c=2-23107125253585,2800 ?sqrt (a*(x^2)+b*x+c)6.637.关系表达式逻辑表达式? ”Z”>[z] 例. ”Z”>[z].AND (’ABCLL’=’ABC’.OR.3^2.T. =LEN([VISUAL FOXPRO])? 3^2!=LEN([VISUAL FOXPRO]) .T..T. (’ABCLL’=’ABC’.OR.3^2!=([VISUALFOXPRO])实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验三:表与数据库的基本操作(验证性,6学时)一、实验目的1.数据库的建立,表的建立;2.表的完整形约束、数据库和表的打开关闭;3.表记录的插入、修改和删除;4.表记录的显示以及记录的定位;5.记录的排序,单索引和复合索引的建立,索引的使用方法;6.多工作区的使用,表间关联的建立.二、实验内容1.在“学生成绩”项目中建立“学生成绩”数据库;在学生成绩数据库中建立“学生”、“成绩”、“课程”三个数据库表并输入一些相应的数据;在“学生成绩”项目中建立自由表 ABC.dbf;并将这些表从项目中移出或移入;2.对“学生”表设置如下的约束(字段有效性):学号不能为空,为空时提示信息:“必须输入学号”、奖学金的默认值为200;对课程表设置如下约束(记录有效性):课时>=学分*20;3.对上述三个数据库表进行数据增加、删除(包括逻辑删除和物理删除)和修改操作;4.用菜单的方法进行表记录的定位,指出什么是当前操作记录;5.将学生表的学号设定为主索引,升序排列;成绩表的学号和课程号作为普通索引,在表中要有一个学生有多门课的成绩、多个学生有同一门课的数据的条件下试试这两个字段能否作为主索引;课程表的课程号作为主索引,降序排列并对该表察看索引结果;对学生、成绩、课程三个表建立永久性关系;6.用命令对学生表的学号建立独立索引文件、对成绩表的学号建立非结构化复合索引文件;7.利用数据工作期建立学生表、成绩表和课程表的关联,使得指针在“学生”表的浏览窗口中移动时,在“成绩”的浏览窗口中同步显示与该学号有关的成绩信息、在“课程”表的浏览窗口中同步显示该生相应成绩的课程名的纪录.三、实验环境8.硬件:学生用微机、局域网环境9.软件:Windows 2000中文操作系统、Visual Foxpro 6.0实验三:表与数据库的基本操作1.(1)打开“学生成绩”项目,选定“数据库”后点击右边的“新建”,弹出“新建数据库”对话框,然后选择“新建数据库”,在“创建”对话框中的数据库名中键入“学生成绩”,最后保存.选定“学生成绩”数据库下拉栏中的“表”后点击右边的新建,弹出“新建表”对话框,然后选择“新建表”弹出“创建”对话框,在该框的输入表名栏中键入“学生”后保存,用同样的方法分别建立“成绩”“课程”表.依次选定“学生”“成绩”“课程”表点击右边的“修改”,然后在弹出的对话框中依次分别输入一下数据(2)打开“学生成绩”项目,选定“数据库”下拉栏下的“自由表”后点击右边的新建,弹出“新建表”对话框,选择“新建表”后在弹出的对话框的输入表名栏中输入“ABC”并保存,后在该表随便输入数据后“确定”.要移出则选定该自由表后选择右边的“移去”即可.2.(1) 先选定“学生”表选择右边的“修改”在弹出的表中选择“学号”后选定在“字段有效性”下“规则”后面的,此时弹出“表达式生成器”在该对话框中的“字段”下选定“学号”,在”逻辑”的下拉中选定“<>”,此时在“有效性规则”下的框中有“学号 <>”,然后在此后面加上引号(注意:引号必须是在无输入法的情况下输入),最后选定“确定”(2)先选定“课程”表选择右边的“修改”在弹出的表中选择“课时”后选定在“字段有效性”下“规则”后面的,此时弹出“表达式生成器”在该对话框中的“字段”下选定“课”,在”逻辑”的下拉中选定“>=”,此时在“有效性规则”下的框中有“课时 >=”,然后在此后面加上“学分*20”最后选定“确定”3. 打开“学生表”,点击“显示”菜单中的追加方式,便可对数据进行增加进入表“浏览”窗口,点击“删除”标记栏被逻辑的记录就加上了“删除”标记,如要恢复则点击“删除”标记栏;物理删除:先对删除的记录做逻辑删除,选择“表”“菜单”“彻底删除”,在“系统”中选“是”则记录将被彻底删除在“项目管理器”中选择要修改的表名,单击“修改”,进到“表设计器”进行修改4.在“浏览”窗口中选择“表”的转到记录,即可将指针移动到相应的记录上5.(1)在项目管理器学生成绩点击学生表→显示→表设计器→索引→在索引名处输入"学号"→类型输入主索引→排序为升序→确定(2)以同样的方法将成绩表和课程表进行设置(3)打开数据库设计器在学生表中找到学号→按住学号拖到成绩表中的学号→按住课程表中的课程号→拖到成绩表的课程号中永久关系建立6.(1)在项目管理器学生成绩中选中学生表→在命令窗口输入"Index on 学号To 文件名"→按 Enter键(2)在项目管理器学生成绩中选中学生表→在命令窗口输入"Index on学好TAG文件名→按 Enter键7.窗口数据工作期→别名处点击学生关系→别名处点击成绩→表达式生成器→确定→别名处点击课程关系→关闭窗口实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验四:查询与视图(验证性,6学时)一实验目的1.顺序查询和索引查询的基本方法2.求和,平均数、分类汇总等统计方法3.使用查询设计器建立查询4.用SQL命令完成各种数据库操作二实验内容1.掌握顺序查询命令Locate和索引查询命令seek的使用方法,并针对student表,举例说明之;2.掌握求和命令SUM、求平均值命令AVERAGE的使用方法;并针对student表按专业统计奖学金总和和按学生性别统计奖学金平均值;3.用查询设计器建立查询文件INQUA.QPR.根据表student.dbf和grade.dbf,查询“计算机”专业中男生的各门课程(即要按课程号分组)的平均成绩,显示字段依次为“课程号”和“平均成绩”两列,以两表中的学号字段进行内部连接,,并要求按课程号的升序显示;4.利用set relation 命令建立表间临时关系:子表为student.dbf,父表为grade.dbf,要使得当浏览父表的纪录时子表中相应的记录会跟着联动;并且在命令窗口中输入如下命令观察结果:brow field 学号,student.姓名,student.专业,课程号,成绩5.用SQL命令实现如下查询(在实验步骤中写出相应的命令,在调试和结果分析中对该命令的各个部分进行解释):(1)查询Student表中所有的学生信息;(2)查询Student表中计算机专业的学生的最高奖学金、最低奖学金和平均奖学金;(3)对Student表按专业统计奖学金,即查询按专业分组的各专业的奖学金总和(提示:select 专业,sum(奖学金) as 奖学金合计……)(4)从student表和grade表中查询学生的学号、姓名、课程号、成绩;(5)从student表、grade表和course表中查询学生的学号、姓名、课程名、成绩(提示:……from student,grade,course where student.学号=grade.学号 .and. grade.课程号=course.课程号);实验四:查询与视图1、(1)在学生表中查询定位1981年出生的学生记录在命令窗口输入:USE 学生LOCATE ALL FOR YEAR (出生日期)=1981?RECNO(),FOUND(),EOF()CONTINUE?RECNO(),FOUND(),EOF()(2)在学生表中索引查询金融专业学生的姓名在命令窗口输入:USE 学生INDEX ON 专业 TAG 专业索引SEEK”金融”?姓名2、(1)在学生表中统计计算机专业学生奖学金的总和(2)在学生表中统计男生的平均奖学金在命令窗口分别输入:sum奖学金for专业=”计算机”to奖学金总和average奖学金for性别=.t. to平均奖学金3、(1)在VFP中点击文件→新建→查询→新建文件;(2)在添加视图或视图对话框中选择“学生和“成绩”表→添加→在“连接条件”对话框中单击确定;(3)选择“字段”选项卡在“可用字段”列表框中选取“成绩.课程号”并添加到“选定字段”列表框中.单击“函数和表达式”右侧按钮→在“表达式生成器”对话框生成函数中输入“AVG(成绩.成绩)”→单击确定→在“字段”选项卡中添加到“选定字段”列表框中;(4)选择“筛选”选项卡→选定字段名“学生.专业”、条件“=”,并输入实例“计算机”、逻辑“AND”→选定字段“学生.性别”、条件“=”,并输入实例“.T.”;(5)选择“排序依据”选项卡→在“选定字段”列表框中选取“成绩.课程号”并添加到“排序条件”列表框中;(6)选择“分组依据”选项卡→在“选定字段”列表框中选取“成绩.课程号”并添到“分组字段”列表框;(7)在“查询”菜单中选择“查询去向”→在“查询去向”对话框中选择查询结果的输出去向→“浏览”;(8)单击常用工具栏上的“运行”按钮就可以得到查询结果;(9)保存查询,键入查询文件;(10)关闭查询设计器,结束查询设计4、在命令窗口输入:OPEN DATABASE学生成绩SELECT()UAE学生 ALL AS 学生INDEX ON 学号 TAG学号索引SELECT()USE 成绩SEL RELATION TO 学号 INTO 学生BROWSE FIELDS学号,学生.姓名,学生.专业,课程号,成绩5、(1)SELECT*FROM 学生(2)SELECT MAX(奖学金)AS 最高奖学金;MIN(奖学金)AS最低奖学金;AVG(奖学金)AS平均奖学金;FROM学生WHERE专业=“计算机”(3)SELECT专业,SUM(奖学金)AS奖学金合计FROM学生GROUP BY专业(4)SELECT学生.学号,学生.姓名,成绩.课程号,成绩.成绩FROM学生INNER JION成绩ON学生.学号=成绩.成绩.(5)SELECT学生.学号,姓名,成绩.课程名,成绩;FROM学生,成绩,课程;WHERE学生.学号=成绩.学号 AND 成绩.课程号=课时.课程号实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验五:程序设计基础(验证性,4学时)一实验目的1.选择结构程序设计2.循环结构程序设计3.过程和自定义函数的定义与调用二实验内容1.编写一段利用Messagebox()函数的程序,按钮类型为“是”、“否”、“取消”,图标为询问,默认按钮是“取消”,提示信息为“你真的要进行此操作吗?”,当按下“是”时,系统给出“你选择的是“是”;当按下“否”时,系统给出“你选择的是“否”;当按下“取消”时,系统给出“你选择的是“取消””.这些系统给出的信息也用Messagebox()函数实现,只要一个确定按钮,每次按确定后即退出该程序;2.应用循环结构的命令编写一段程序,运行时在VFP主窗口输出如下图形:****************3.IIF()函数的语法为:IIF(逻辑表达式,表达式1,表达式2)功能:如果逻辑表达式的值为真,则返回表达式1的值,否则返回表达式2的值.和以下程序等价的IIF()函数要如何写(提示:用Y=IIF(逻辑表达式,表达式1,表达式2)的形式表达,其中表达式1或表达式2也可以是IIF()函数)?IF X>0Y=1ELSEIF X=0Y=0ELSEY=-1ENDIFENDIF4.编写一个求面积的程序,其中求各种面积(三角形((底*高)/2)、梯形((上底+下底)*高/2)、圆(3.14*半径^2)、正方形(边长*边长)、矩形面积(长*宽))的过程用过程文件保存,通过主程序调用这些过程文件中的过程实现面积的求解;5.理解参数传递中的按值传递和按地址传递的区别:有以下两个主程序和一个外部过程(文件名为SUBPRG):第一个主程序如下(文件名为AA.PRG)CLEARA=”您好!”DO SUBPRG WITH A? A第二个主程序如下(文件名为BB.PRG)CLEARA=”您好!”DO SUBPRG WITH (A) &&与AV.PRG不同之处就是这里的括号)? A外部过程如下(文件名为SUBPRG):PARAMETER X? XX=”谢谢关照”RETURN分别运行上面的主程序,并察看其结果,说说结果为何不同.6.理解变量作用域:运行以下程序并分析结果.CLEARX=10Y=20DO SUB? X , YRETURNPROCEDURE SUBPRIVATE XX=100Y=30? X , YENDPROC7.编写一个求阶乘的自定义函数,并求1!+2!+3!+…+10!的值.三实验环境1.硬件:学生用微机、局域网环境2.软件:Windows 2000中文操作系统、Visual Foxpro 6.0四实验步骤(描述实验的具体操作步骤和方法,内容见后附的手写部分)五实验调试与结果分析(内容见后附的手写材料)六总结(内容见后附的手写材料)实验五:程序设计基础1、在VFP中点击新建程序新建文件在程序1中输入如下程序:ClearX=messagebox(“你真的要进行此操作吗?”,3+32+512)If x=6Messagebox(“你按下的是“是””)ElseIf x=7Messagebox(“你按下的是“否””)ElseMessagebox(“你按下的是“取消””)EndifEndif2、在程序中输入如下程序:ClearSt=”*******”K=4Do while k>=1?space(4-k)+left(st, 2*k-1)K=k-1End do5. 在程序中输入:Procedure pinput“请输入三角形的高度:”to shinput“请输入三角形的底长:”to sds=sd*sh/2?“三角形的面积:”??sReturnEndprocProcedure tinput“请输入梯形的上底:”to tuinput“请输入梯形的下底:”to tlinput“请输入梯形的高度: to ths=(tu+tl)*th/2?“梯形的面积:”??sReturnEndprocProcedure yinput“请输入圆的的半径:”to yrs=3.14*yr^2?“圆的面积:”??sReturnEndprocProcedure zinput“请输入正方形的边长:”to zx s=x*x?“正方形的面积:”??sReturnEndprocProcedure jinput“请输入矩形的长:”to jxinput“请输入矩形的边宽:”to jys=x*y?“矩形的面积:”??sReturnEndproc7、依次计算1!、2!、3!…..10!在程序中输入如下程序:ClearFor i=1 to10?”fac(“+str(1, 2)+”)=”,fac(i) Endforreturnfunction facparame ters nprivate ip=1for i=1 to n p=p*iendforreturn pendfuncs=0t=1for i=1 to 10 t=t*is=s+tendfor?”s=”, sreturn实验报告学院:专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发 (订正、重做)实验六:表单控件和面向对象程序设计(综合性,6学时)一实验目的1.表单设计器的操作2.事件的编写3.表单向导的使用4.表单及常用控件(文本框、组合框、列表框、页框等等)的设计二实验内容1.(1)新建一个表,表名为:七律长征.dbf,表的字段只有一个:诗词,字段的长度、数据类型自己根据实际内容确定,每条记录的内容为该诗的一句;(注:诗词为:红军不怕远征难,万水千山只等闲.五岭巍峨腾细浪,乌蒙磅礴走泥丸.金沙水拍云崖暖,大渡桥横铁索寒.更喜岷山千里雪,三军过后尽开颜.)(2)新建一个表单,外形如图:Form1的标题为七律长征;label1的标题为“请背诵毛主席的诗《七律长征》”;label2的标题为“忘记时可点击以下按钮将给出提示”;文本框一个,要求首次运行时不能出现任何诗句(提示:采用在Form1的init 事件中编写如下代码的方法加以实现:go bottom↙ skip,这里↙表示按下Enter键);用命令按钮组做四个命令按钮,第一个按钮的标题是“首句”,第二个为“上一句”,第三个为“下一句”,第四个为“末句”;(3)要求运行时点击“首句”按钮则文本框会出现该诗的第一句,点击“上一句”按钮,则文本框显示当前诗句的上一句(如果记录指针指向第一条记录,则画面上要给出提示:“本局是首句”),点击“下一句”按钮,则文本框显示当前诗句的下一句(如果记录指针指向最后一条记录,则画面上要给出提示:“本局是末句”),点击“末句”按钮则文本框会出现该诗的最后一句.表单保存为:七律长征.scx.2.设计如图所示的表单:要求如下:(1)运行时,当按下按钮1时,按钮1的Enabled属性变为.F.,按钮2的Enabled属性变为.T.;反过来,当按下按钮2时,按钮2的Enabled属性变为.F.,按钮1的Enabled属性变为.T..(2)根据对象引用的规则,要采用到如下这些引用:this.enabled,mandx.enabled(x代表1或2),mandx.enabled(x代表1或2)(3)指出容器控件及容器嵌套层次3.通过表单向导,建立一个一对多表单,以查询学生选修的课程和成绩:其中,父表为student.dbf,子表为grade.dbf.4.新建表单cjcx.scx,界面如下图,要求如下:(1)表单Form1的数据源是grade.dbf,表单上有标签、文本框、按钮、表格等控件,表格中共三列,如上图所示;(2)该表单完成按学号的查询,请编写适当代码实现在点击“查询”按钮后,表格Grid1中显示对应查询学号的各门课程的成绩,文本框Text2中显示对应的平均成绩.5.设计一个迎接2008年北京奥运会倒计时的表单界面如下:Form1的标题为“2008北京奥运会倒计时”,运行时居中;Label1的标题为“今天距北京奥运会开幕还有”,字体为宋体,字号为16,加粗;Text1为只读,字号为16,加粗;Label2标题为“天”,字体为宋体,字号为16,加粗.运行时直接将显示距2008北京奥运会开幕所剩的天数.(提示:2008北京奥运会开幕的日期为2008年8月8日,利用两日期相减,可求出这两个日期之间的天数的方法计算,可将该计算过程写在Form1的Init事件中.思考一下:如果将该过程写在Form1的Load事件中行不?)6.设计一个时钟,画面如下:Form1的标题为“日期时间”,运行时居中;Label1的标题为 =ttoc(datetime()) ,注意要有等号(其中TTOC()函数是将日期时间类型的数据转换成字符型的数据的函数);在表单上添加一个时钟控件;要求运行时时钟会按秒变化.(提示:在时钟控件的Timer事件中编写如下过程:bel1.caption=ttoc(datetime()),Timer1控件的Interval属性设为1000.该属性是指定调用计时器事件的间隔,以毫秒为单位,1000即为1秒,正是题目所要求的)7.表单Form1上有一朵花的图像,单击表单的空白处,该图象将移到单击处.请编写相应的事件代码.8.设计如下的表单:从组合框中选择用户,组合框的数据源为account.dbf的“user”字段;输入密码,输入时不能显现出密码,只能用*代替;单击“确定”时,如果密码正确,则弹出“欢迎登录”消息框,否则弹出“口令不正确,请再试一次”消息框,如果口令三次都不正确,则自动退出该表单(每个用户的密码已经事先存放在account.dbf表的password字段中).account.dbf的内容:三实验环境3.硬件:学生用微机、局域网环境4.软件:Windows 2000中文操作系统、Visual Foxpro 6.0四实验步骤(描述实验的具体操作步骤和方法,内容见后附的手写部分)五实验调试与结果分析(内容见后附的手写材料)六总结(内容见后附的手写材料)。
VFP+SQL-动态创建远程视图
* cKey---主键
* cCondition---条件
* 调用格式:
* =CreateView(\'数据库名\',\'连接名\',\'后端表名\',\'视图名\',\'主键名\',\'条件\',\'排序\')
* 第一步、创建视图
ENDIF
* 第二步、设置视图可更新
* 1).Tables 属性
DBSETPROP(\'&cViewName\',\'View\',\'Tables\',\'&cSQLTableName\')
* 2).KeyField 属性(将字段"cKey"设定成关键字栏)
DBSETPROP(\'&cViewName..&cKey\',\'Field\',\'KeyField\',.T.)
*nConnectHandle=SQLSTRINGCONNECT(\'DSN=&gcDSN;UID=&gcUID;PWD=&gcPWD;DATABASE=&cSQLDatabaseName\')
* 参见《Visual FoxPro 6.X 中文版程序设计》p.431
* 11.12 取得后端字段的相关信息
DBSETPROP(\'&cViewName..&cFieldName\',\'Field\',\'Defaultvalue\',\'0\') && 默认值
Visual FoxPro数据库程序设计教程(第三版) 第9章 查询与视图
2019年3月9日
9.1.3 视图与查询比较 视图与查询的相同点在于: 它们都可以从数据源中查找满足一定筛选 条件的记录和选定部分字段;他们自身都 不保存数据,其查询结果随数据源内容的 变化而变化。
2019年3月9日
第6页
视图与查询的不同点: (1)视图可以更新数据源表,而查询不能。用户可以显 示但不能更新由查询检索到的记录;但当编辑视图中的记 录时,可以将更改发送回源表,并更新源表。 (2)视图是数据库中的一个特有功能,它只能存在于数 据表中,因此只能从数据库中查找数据;而查询是一个独 立的程序文件,不是数据库的组成部分,它可以从自由表、 数据库表以及多个数据库的表中查找数据。 (3)视图可访问远程数据,而查询不能直接访问,需要 借助远程视图才能访问。
2019年3月9日
第8页
9.2.2 通过查询设计器创建查询 SELECT命令可以在命令窗口直接执行, 也可以编写在程序中,以完成相应查询任 务。但编写SELECT语句不是件易事。为 了可视化设计SELECT命令,系统提供了 “查询设计器”。“查询设计器”实际上 就是SELECT命令的交互式设计操作。 1.启动“查询设计器”添加表
第14页
2019年3月9日
9.3 运行查询
运行查询可以得到查询结果。方法有以下3种。 (1)在“查询设计器”处于打开状态时,使用 “查询”菜单的“运行查询”命令。 (2)命令:DO <查询文件名>。 (3)快捷键:【Ctrl+Q】。 上述操作的过程实际上是创建了一条SQL的 SELECT语句。可以选择“查询”菜单中的“查 看 SQL”或查询设计器工具栏上的SQL按钮,得 到结果如图9-37所示。
计算机VFP实验9创建本地视图和远程视图
计算机VFP实验9创建本地视图和远程视图实验9 创建本地视图和远程视图实验目的:1.了解视图的含义以及视图与查询的区别;2.学会创建视图,并设置更新条件。
一、(可以省略该步)新建一个项目,名字为“成绩管理”,在该项目中建立一个数据库“学生成绩库”,并在该数据库中建立两个表“学生表”和“成绩表”,每个表都输入几条记录。
其中:学生表:二、以上面建立的“学生表”为数据源创建本地视图步骤如下:1、在项目管理器中,选择“数据”选项卡,单击某个具体数据库,接着单击本地视图新建。
2、把“学生表”添加到“视图设计器”窗口中3、字段选定:选择全部字段4、更新条件:学号设置为主键,并设置所有字段都是可更新的(即铅笔对应列都打“√”)5、在“视图设计器”窗口中的左下角“发送SQL更新”前打“√”。
6、保存视图,运行视图,修改“张三”为“张六”,关闭视图结果,再保存视图。
然后推出视图。
7、打开“学生表”查看其数据“张三”是否有变化三、创建远程视图:1、启动ACCESS,创建一个空数据库“管理库”,在该数据库中建立一个“职工表”,“职工退出ACCESS。
2、在第一大题的项目中的“学生成绩库”下建立一个连接(操作方法:展开“成绩管理”项目,找到“学生成绩库”,点击“学生成绩库”左边的“+”,点击“连接”→新建,→出现如下窗口,把“数据源(D)”:选择“MS Access Database”→点击“验证连接”→找到以上所建立的Access数据库“管理库”→确定→保存;这样就建立好了一个连接(这个连接的作用是,让VFP数据库连接到Access数据库)。
3、以ACCESS表“职工表”为数据源,创建远程视图,并设置更新条件,设置“职工号”为主键,设置所有字段都可以更新。
运行视图。
4、修改视图的结果,然后关闭视图结果,保存视图5、退出VFP,打开ACCESS数据库“管理库”,打开表“职工表”查看表中数据的变化。
vf部分教程
实验一建立项目管理器、建立数据库和表、输入部分数据一、实验目的1.熟悉V isual Foxpro 项目管理器的使用;2.熟悉数据库的概念和V isual Foxpro 数据表的概念;3.掌握数据表的建立方法,数据直接输入的方法;4.熟练掌握表文件的打开、浏览、关闭。
二、实验内容;1.建立项目管理器“学生成绩管理系统”2.建立数据库“成绩库”,并创建4个与学生成绩管理系统工作密切相关的数据表“班级号名”、“学生”、“学生选课”、“课程”;3.直接为“班级号名”、“课程”两个数据表输入数据。
三、实验步骤(一)Visual Foxpro 基本操作1. Visual Foxpro 的启动开始→程序→ Visual Foxpro 6.0,或:双击桌面V isual Foxpro 6.0 快捷方式图标。
2. Visual Foxpro 的退出在V isual Foxpro 的命令窗口中键入q uit 或选V isual Foxpro 菜单中文件→退出。
3.工作目录及表单区域的设置·在机房的学生数据盘(例如D:盘)上建一目录,命名为“成绩管理”。
·进入V isual Foxpro,选菜单中的工具→选项→“文件位置”选项卡,找到“默认目录”,如图1-1。
图1-1 选择默认目录·点击“修改”按钮,进入图1-2,再单击按钮,按图1-2 设置后,单击“确定”按钮。
·单击“表单”选项卡,将“最大设计区”选为 1024×768。
·单击“设置为默认值”按钮,再单击“确定”按钮。
注意:如果学生机房安装了还原卡,则每次上机或重新启动后都要重新进行以上第3步“工作目录及表单区域的设置。
”图1-2 更改文件位置(二)项目管理器和数据库的建立1.项目管理器(1)什么是项目管理器项目管理器是V isual Foxpro 开发应用系统的综合性平台,在这里可以建立数据库、表单、菜单、程序、编译等。
VF数据库第9章视图与查询操作
精选ppt
5
(3)命令说明:
① <新文件名>是指重新排列后的新数据表文件名.
② 排序规则:
排序关键字,仅能使用当前数据表的字段名,不允许使
用任何类型表达式。字段类型可以是C型、N型、D型、L
型。
如果选择多个字段作为关键字段来进行多重排序,之间
要用英文状态下的逗号“,”分隔。排在最前面的为第一
关键字段,最先排序,第一关键字段值相同,则按第二关
[ASCENDING|DESCENDING] 说明: [OF<非结构复合索引文件名>]:非结构复合索引文件名
例题:
将学生档案表数据表文件按班级和出生日期(索引标识为
BJCSRQ )升序,按性别升序索引(索引标识为XB),建立非
结构化复合索引文件xbbj。
Use 学生档案表
INDEX ON 班级+dtoc(出生日期) TAG BJRQ OF XBBJ
或非压缩的。压缩的单索引文件是非压缩的单索引文件的 六分之一,所以,如果没有兼容问题,一般采用压缩的单 索引文件。
精选ppt
10
(2)复合索引文件(*.CDX) 复合索引文件可以含多个索引标识,其扩展名为“CDX”,
每个索引都有一个索引标识。 复合索引文件为减少占用存储空间,其总是以压缩方式存
储。 复合索引文件可分为结构的和非结构的两种。 结构化复合索引文件与原数据表文件名相同(后缀
说明: ①TAG<索引标识名>:复合索引文件每个索引都必须有一
个索引标识。 ②记录的顺序默认为升序,也可用“Ascending”表示,
降序用“Descending”。 ③当一个复合索引文件中存在多个索引标识的时候,分别
建立,最新建立的索引标识将自动打开并处于主控索引的 位置。 ④ 建立结构化复合索引文件,必须以独占方式打开数据表.因 为,结构化复合索引的标识精符选pp要t 保存到表的结构中去。 18
VFP基础教程-数据库的创建和使用
4.1 VFP数据库1. 数据库的基本组成数据库由一个以上相互关联的数据表组成,可以包含一个或多个表、视图、到远程数据源的连接和存储过程。
视图(view):一个保存在数据库中的、由引用一个或多个表、或其他视图的相关数据组成的虚拟表,可以是本地的、远程的或带参数的。
存储过程(stored procedure):是保存在数据库中的一个过程。
该过程能包含一个用户自定义函数中的任何命令和函数。
创建数据库时系统自动生成3个文件:数据库文件: 扩展名为.DBC数据库备注文件: 扩展名为.DCT数据库索引文件: 扩展名为.DCX2. 数据库的设计过程1)明确建立数据库的目的和使用方式2)设计所需的数据表(包括表结构和表记录)3)建立表之间的关系4)改进设计4.2 数据库的创建1. 数据库的创建过程数据库的创建过程中一般会涉及下面一些常用操作:1)创建新表→用表设计器(设置字段属性和表属性)2)添加表→用数据库设计器按钮或数据库菜单3)创建视图→用视图向导、视图设计器4)建立关系→用鼠标将父表的索引拖到子表的相关索引上5)编辑关系→用数据库菜单或快捷菜单→参照完整性生成器6)移去关系→用快捷菜单或按delete键7)修改表→用表设计器8)删除表或视图→用数据库设计器按钮或数据库菜单2. 数据库的新建、打开、关闭(1)新建数据库:从文件菜单中单击新建→在新建对话框中选择数据库并单击新文件→在创建对话框中给出库文件名和保存位置→在数据库设计器中建立所需的数据库。
或从命令窗口中输入命令:create database 数据库名(2)打开数据库:从文件菜单中单击打开→在打开对话框中给出库文件名和保存位置并确定之。
或从命令窗口中输入命令:open database 数据库名(3)关闭数据库:从命令窗口中输入命令:close database&& 关闭当前数据库或close all&& 关闭所有被打开的数据库注意:1) 关闭了数据库表不等于关闭了数据库,但关闭了数据库则其中的数据表被同时关闭;2) 用鼠标关闭了数据库设计器窗口并不能代表关闭数据库。
vfp实训
实验项目一Visual Foxpro启动,退出与设置一、实验目的1.掌握Visual Foxpro启动、退出的操作。
2.了解Visual Foxpro的操作界面。
3.掌握Visual Foxpro选项的设置。
二、实验内容1.启动和退出Visual Foxpro可用如下两种方式启动Visual Foxpro:(1)单击屏幕左下角“开始”按钮,移动鼠标至“程序”命令菜单,在出现程序子命令菜单时将鼠标移动到Microsoft V isual Foxpro6.0选项,单击左边标有狐狸的Microsoft Visual Foxpro6.0命令。
(2)双击桌面带有狐狸头的Microsoft V isual Foxpro6.0图标,以快捷方式启动Visual Foxpro。
进入VFP后,屏幕上将会显示主窗口,如图1-1所示。
主窗口包括标题栏、菜单栏、工具栏、命令窗口和信息提示栏等。
图1-1 VFP主窗口可用如下三种方式退出Visual Foxpro:(1)单击Visual Foxpro界面右上角的关闭【 】按钮。
(2)在命令窗口中键入退出命令:QUIT或quit。
(3)单击“文件”菜单,选定“退出”命令后单击鼠标左键。
2.配置Visual Foxpro的运行环境(1)打开“选项”对话框在Visual Foxpro系统中,选择“工具”菜单的“选项”命令,打开“选项”对话框,如图1-2所示。
图1-2 “选项”对话框图1-2中有显示、常规、数据等12个选项卡,每个选项卡对Visual Foxpro的运行环境的不同参数进行设置。
在图1-2中的显示选项卡中,可通过选定复选框对Visual Foxpro界面显示信息进行设置。
(2)设置日期时间格式和货币符号①在“选项”对话框选择“区域”选项卡,如图1-3所示。
图1-3 “选项”对话框的区域设置选项②在“日期格式”列表框选择“汉语”,则日期就变为年月日的格式。
③在“货币符号”文本框输入“¥”符号(在中文输入方式下,按Shift+$键),就显示为中国人民币符号。
用vfp与sql server构建ClientServer应用程序(远程视图)(1)
用vfp与sql server构建Client/Server应用程序(远程视图)(1)时间:2007-05-08本文是《用 Visual FoxPro 与 SQL Server 构建 Client/Server 应用程序》系列的一部分,照例“远程视图”应不是开篇章节,但我们发现:在我们为网站准备的文章中有太多的理论性的东西,为了缓解这一矛盾,我们决定把“远程视图”提上来先写。
当下最流行的 ADO 脱胎于 Visual FoxPro,在实际使用中两者各有特色,所以不要小看 Visual FoxPro 在远程数据处理上的能力,它绝对强大!读者可以参看本站的《Microsoft Visual FoxPro 开发人员 ADO 快速入门》与《Visual FoxPro 漫谈》。
我们希望通过连载的形式完成《用 Visual FoxPro 与 SQL Server 构建Client/Server 应用程序》一文,非常希望得到您宝贵的建议。
说在前面由于本文是在两天之内赶出来的,构思不够严密,我在选择 SQL Server 端数据库时犯了一个错误:Northwind 数据库中绝大多数“字符串”型字段(列)使用了 nVarchar 型,Visual FoxPro 对此支持的不好(具体原因本站将另文论述)。
以上可能造成演示程序不能正常工作,对此我们可以在 SQL Server 的Enterprise Manager 中把有关字段的的类型从 nVarchar 改为 Varchar。
我建议把 Customers 表中的 CustomerID 和 Phone字段的类型变化即可。
同样的,我们可以把 Employees 的 Notes 字段类型变为 text。
不是我的错Visual FoxPro 的视图设计器虽然能完成许多烦人的远程视图的操作,但对于特别复杂的远程视图可能会支持很差。
在阅读本文做实验时,遇到以上问题请不要责怪作者。
9数据库应用技术VF-创建视图
教师讲解
30
学生操作40’
10’教师点评
课
后ห้องสมุดไป่ตู้
记
二、任务规划:
任务一、利用视图向导创建视图
任务二、使用视图设计器创建视图
任务三、更新视图
任务四、创建参数视图
三、任务实施:
1、创建项目
2、创建数据库
3、创建数据表
4、创建视图
5、添加数据表
6、选定视图展示字段,
7、筛选,提示问号,用英文输入法。
8、保存后,浏览视图
四、任务评估:
五、任务拓展:
分小组,讨论课堂内容,形成经验,提交博客园,分享心得。
课时计划第周
班
项目
出席情况
上课时间
教学秩序
课 题
数据表应用技术VF:创建视图
课型
综合
教学目的(目标)
知识目标:设置视图的操作基础知识
能力目标:能够掌握设置视图的操作技术
情感目标:培养学生阅读、分析问题的能力
重 点
视图基础知识
教具
计算机
难 点
设置视图的操作
课时
2
一、任务下达:
根据需求,设置视图的操作。
VFP远程视图的四个实际问题
VFP远程视图的四个实际问题一、绪论VFP 是一种较好的客户/ 服务器应用系统开发工具,用VFP 开发C/S 系统的关键是如何访问远程数据( 远程服务器中的Table/View)。
可以使用VFP 提供的SQL Pass-Through 函数访问远程数据,但最常用的方法是使用远程视图(Remote View) 去访问远程数据。
本文结合本人的使用经验对远程视图的使用技巧加以介绍。
二、远程视图的环境设置在设计远程视图时,需要对远程视图的有关环境信息进行设置。
使用T ools 菜单中的Options.... 选项来设置Remote Data 选项。
其选项设置说明如下:*Share Connection: 指出今后设计的远程视图是否使用共享连接。
使用共享连接可大大减少数据库服务器中客户访问许可数,但会影响客户机的访问速度。
*SQL Updates/Criteria: 指出对后台数据进行update 操作的条件。
它有四种可能:①Key Field only ②Key and Updatable Fields③Key and Modified Fields ④Key and Time Stamp。
一般选择③较合适。
*SQL Updates/Method: 指出对后台数据的更新方法。
它有两种选择:①SQL Delete then Insert ②SQL update。
一般选择②比较合适。
*Connection Defaults: 主要用于SQL Pass-Through 函数访问远程数据,对于远程视图则不需要放置。
三、远程视图的设计有两种方法设计远程视图,一是使用View Designer;二是使用SQL 语句。
用View Designer 可设计较为简单的视图,而使用SQL 的Create Remote View 语句则可进行复杂视图的设计。
如果试图去用View Designer 观察或修改( 用Create 创建的视图) 则极有可能被破坏它( 例如:若创建视图的语句中含有exists 子句, 则一定会被破坏!)1. 用Create 命令设计例如:假定连接名为WYFconnect,两个远程表为SealList 和ShipList. Create 命令可如下:CREATE SQL VIEW ViewT est REMOTE CONNECTION WYFconnect AS SealList.* FROM SealList, ShipList WHERE SealList IS NOT NULL AND SealList AND 箱号NOT IN 箱号FROM ShipList WHERE ShipList. 箱号IS NOT NULL AND ShipList. 船名=SealList. 船名使用该方法可以在程序中动态地构造满足不同条件的远程视图(View Designer 不能构造带参数的远程视图)。
VFP 视图
启动视图设计器
打开视图设计器,系统首先显示一个“添加表或视图”对话框
添加表或视图
选中需要的表或视图添加到视图设计器中
编辑联接条件
若选择的表不止一个,则需建立表间联接。系统会弹出“联接条件” 对话框供用户编辑联接条件。用户以后还可在“联接”选项卡 中编辑联接条件
内部联接:只提取两个表同时满足联接条件的数据 左联接:提取联接条件左侧表中的所有数据及满足联接条 件的右侧表中的数据 右联接:提取联接条件右侧表中的所有数据及满足联接条 件的左侧表中的数据 全联接:不管联接条件,提取两表中的所有数据
Visual FoxPro 应用基础
视图
4.5 视图
4.5.1 视图的概念
视图是从一个或几个基本表或视图中导出的表, 它是数据库的一部分。
视图是一个定制的虚表。
用于引用本地、远程或带参数的表或视图,并 且可以将更新的数据返回到原始的数据源中
视图分类:本地视图和远程视图
本地视图:是指所能更新的源表是本地表即VFP 的表或自由表,这些源表未被放在服务器上。
crea sql view xs2 remo connection 连接
1 crea sql view xs3 as sele * from 教师
创建视图,使视图能作以下查询
查询出选修了课程的学生姓名、课程名 和成绩,按姓名排序 查询每个学生的学号、姓名、选修课平 均成绩(不包括无成绩的) • 查询出选修人数>=3的课程名及人数
远程视图:是指所能更新的源表来自服务器上 的表或远程数据源。
4.5.2 建立视图的方法
一、使用视图向导建立视图 文件/新建/视图(本地视图)/向导 二、使用视图设计器建立视图 三、建立远程视图
vfp精品课程习题查询与视图
HOME
8.1 引例
• 现有学生档案数据表xsda.dbf,现在要把其中班级为“机制 991”的学生筛选出来,查看他们的“Xh”、“Xm”、“Xi”、 “Bj”、“Rxf”等信息,并且按“Rxf”升序排列输出,查询结 果如下图所示。
利用视图输出满足条件的结果
利用查询输出的满足条件的结果
8.2 查询与视图
8.4.5 视图的作用
• 视图建立以后,就可以使用它来显示和更新数据。下面我 们就来看视图的使用情况。 1.利用视图可以快速查找信息 2.利用视图更新数据 3.视图可以作为数据源
8.2.2 视图
• 视图是一个类似于目录的有关数据的虚拟表或者逻辑表, 视图中的数据来源于数据库中的表或者其他视图。它具有 普通表的一般性质,可以对它进行浏览、修改和使用。值 得一提的是利用视图修改的结果可以送回数据源,进行永 久的保存。但视图依赖于数据库而存在,在新建视图之前, 必须先打开相关数据库。视图和查询也很相似,都可以从 一个或多个相关联的表中提取有用的信息。
• 命令的功能是:以数据库xj中的数据表xjb和xscjb为数据 源建立查询,要求根据学号建立二表之间的内部联接,选 取二表中的所有字段输出,输出的记录为满足联接条件的 且“数学 > 60”、“英语 > 70
再看一条SQL-Select命令 SELECT Xjb.学号, Xjb.姓名, Xjb.性别, Xjb.班级, Xjb.出 生年月, Xjb.籍贯,; Xscjb.考试时间, Xscjb.数学, Xscjb.语文, Xscjb.英语, Xscjb.化学, Xscjb.平均分,; Xscjb.总分; FROM xj!xjb INNER JOIN xj!xscjb ; ON Xjb.学号 = Xscjb.学号; WHERE Xscjb.数学 > 60; AND Xscjb.英语 > 70; GROUP BY Xjb.班级; ORDER BY Xjb.学号 DESC; INTO TABLE 查询1.dbf
计算机二级VFP辅导:VFP视图设计器
考试⼤编辑整理:VFP的视图的SQL语句 ⽤户可以利⽤视图设计器来创建视图,也可以利⽤视图向导创建视图,还可以通过命令创建视图。
下⾯主要通过创建本地视图⽂件为例对视图设计器的使⽤⽅法加以介绍。
1.启动视图设计器 启动视图设计器的⽅法有: (1)在系统菜单中,选择“⽂件”中的“新建”选项,打开“新建”对话框。
选择“视图”单选按钮,再单击“新建⽂件”按钮,在打开视图设计器的同时,还将打开“添加表或视图”对话框。
将所需的表添加到视图设计器中,然后单击“关闭”按钮。
(2)使⽤命令也可以启动视图设计器,此时可在命令窗⼝键⼈命令:CREATE VIEw。
需要注意的是,与查询是⼀个独⽴的程序⽂件不同,视图不能单独存在,它只能是数据库的⼀部分。
在建⽴视图之前,⾸先要打开需要使⽤的数据库⽂件。
2.视图设计器 视图设计器的窗⼝界⾯和查询设计器基本相同,不同之处为视图设计器下半部分的选项卡有7个,其中6个的功能和⽤法与查询设计器完全相同。
这⾥介绍⼀下它不同于查询设计器的“更新条件”选项卡的功能和使⽤⽅法。
单击“更新条件”选项卡。
该选项卡⽤于设定更新数据的条件,其各选项的含义如下: (1)表。
列表框中列出了添加到当前视图设计器中所有的表,从其下拉列表中可以指定视图⽂件中允许更新的表。
如选择“全部表”选项,那么在“字段名”列表框中将显⽰出在“字段”选项卡中选取的全部字段。
如只选择其中的⼀个表,那么在“字段名”列表框中将只显⽰该表中被选择的字段。
(2)字段名。
该列表框中列出了可以更新的字段。
其中标识的钥匙符号为指定字段是否为关键字段,字段前若带对号(√)标志,则该字段为关键字段;铅笔符号为指定的字段是否可以更新,字段前若带对号(√)标志,则该字段内容可以更新。
(3)发送SQL更新。
⽤于指定是否将视图中的更新结果传回源表中。
(4)SQL wHERE⼦句。
⽤于指定当更新数据传回源数据表时,检测更改冲突的条件。
(5)使⽤更新,指定后台服务器更新的⽅法。
建立本地视图_Visual FoxPro 程序设计_[共4页]
96利用视图可以从表中提取一组记录,改变提取记录的值,并把更新的记录返回到基本表中。
可以从本地表、存储在服务器上的表、其他视图或远程数据源中创建视图,所以Visual Foxpro中的视图被分为本地视图(使用当前数据库中的表建立的视图)和远程视图(使用当前数据库外的数据源中的表创建的视图)两类。
6.2.2 视图的特点视图是对表进行操作的一种手段,通过视图可以查询表中的记录,也可以更新表里的数据。
视图是根据表定义的同时在表之上可以更灵活应用。
视图是数据库的特有功能,只有在包含视图的数据库打开时,视图才能使用。
(1)视图是存在于数据库中的一个虚表,不以独立的文件形式保存。
(2)视图中的数据是可以更改的,它不仅具有查询的功能,且可以把更新结果反映到源数据表中。
(3)视图打开时,其基表自动打开,但视图关闭时,其基表并不随之自动关闭。
(4)视图的数据源可以是自由表、数据库表或另一个视图。
6.2.3 建立本地视图建立视图的过程与创建查询的过程类似,创建方法基本相同,均可通过向导、设计器方式来进行。
因为视图是数据库的一部分,所以只有打开数据库后,才能创建视图。
以下将介绍本地视图的创建。
【例6-6】在“学生库”数据库中,根据教师、院系、授课、课程4个表,利用视图设计器建立一个视图view2,该视图属性列由院系名称、教师姓名、职称、课程名、学分、学时数组成,记录按照院系名升序排列,筛选条件为教师职称为教授或副教授。
具体操作步骤如下。
(1)打开数据库文件。
单击“文件”|“打开”菜单命令,在弹出的对话框内选择文件类型为“数据库文件”,选择“学生库”数据库文件打开(视图只能从属于数据库,因此数据库打开后才能创建视图)。
(2)启动视图设计器。
单击“文件”|“新建”菜单命令,文件类型选择“视图”,再单击“新建文件”,进入到视图设计器,与查询设计器操作步骤相同,添加视图中用到的表,视图设计器会自动为4张表建立连接,如图6-30所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验9 创建本地视图和远程视图
实验目的:
1.了解视图的含义以及视图与查询的区别;
2.学会创建视图,并设置更新条件。
一、(可以省略该步)新建一个项目,名字为“成绩管理”,在该项目中建立一个数据库“学生成绩库”,并在该数据库中建立两个表“学生表”和“成绩表”,每个表都输入几条记录。
其中:学生表:
二、以上面建立的“学生表”为数据源创建本地视图
步骤如下:
1、在项目管理器中,选择“数据”选项卡,单击某个具体数据库,接着单击本地视图 新建。
2、把“学生表”添加到“视图设计器”窗口中
3、字段选定:选择全部字段
4、更新条件:学号设置为主键,并设置所有字段都是可更新的(即铅笔对应列都打“√”)
5、在“视图设计器”窗口中的左下角“发送SQL更新”前打“√”。
6、保存视图,运行视图,修改“张三”为“张六”,关闭视图结果,再保存视图。
然后推出视图。
7、打开“学生表”查看其数据“张三”是否有变化!!!!
三、创建远程视图:
1、启动ACCESS,创建一个空数据库“管理库”,在该数据库中建立一个“职工表”,“职工
退出ACCESS。
2、在第一大题的项目中的“学生成绩库”下建立一个连接(操作方法:展开“成绩管理”项目,找到“学生成绩库”,点击“学生成绩库”左边的“+”,点击“连接”→新建,→出现如下窗口,把“数据源(D)”:选择“MS Access Database”→点击“验证连接”→找到以上所建立的Access数据库“管理库”→确定→保存;这样就建立好了一个连接(这个连接的作用是,让VFP数据库连接到Access数据库)。
3、以ACCESS表“职工表”为数据源,创建远程视图,并设置更新条件,设置“职工号”为主键,设置所有字段都可以更新。
运行视图。
4、修改视图的结果,然后关闭视图结果,保存视图
5、退出VFP,打开ACCESS数据库“管理库”,打开表“职工表”查看表中数据的变化。