vfp第五章
vfp第5章
1.用数据库设计器建立数据库
菜单【文件】→【新建】→打开“新建”对话框,选定 “文件类型”为【数据库】选项按钮→单击【新建文件】→打开 “创建”对话框,在“数据库名”文本框中输入所建的数据库名, 单击【保存】按钮→建立数据库,同时打开“数据库设计器”窗 口。 利用“数据库设计器”提供的工具或快捷菜单,可以方便 的建立数据库表或建立视图,也可以将自由表添加到数据库中, 成为数据库表,以及建立数据库表间的永久关联关系等数据库操 作。 [例4-16] 利用“数据库设计器”,新建数据库rsgzk.dbc,并将 表rsb.dbf、gzb.dbf、bmdm.dbf和zz.dbf添加到新数据库中, 成为数据库表。 (1)按照表4-7和表4-8建立部门代码表(bmdm)和增资表 (zz)结构,并输入记录数据。 (2)建立数据库rsgzk.dbc。 (3)添加表rsb.dbf、gzb.dbf、bmdm.dbf和zz.dbf 。
字段级规 则设置
“格式”文本框中输入格式化代码,确定 该字段在浏览窗口、表单和报表中显示的 格式,它是对字段格式进行整体控制的。
显示的标 题改为自 己希望的 标题
“输入掩码”文本 框中键入掩码代码, 输入掩码是按位来 控制格式的。
字段有效性就是用 于数据输入正确性 的检验。
说明该字段的用途、 特性、使用说明等 补充信息
&& 打开jbgz.idx和sfgz.idx, 前者为主控索引
②复合索引文件的打开和主控索引的确定
同时打开数据表和指定主控索引命令格式: USE <表文件名> ORDER <数值表达式> | TAG <索引标识名> [OF <复合索引文件名>] [ASCENDING | DESCENDING] 功能:在打开数据表的同时指定主控索引。结构复合索引不用
《VFP》第五章习题全解
第五章一、填空1、以下程序的功能是将英文字母组成的字符串加密.加密的算法是:如果是大写字母,用原字母后面的第4个字母代替原字母,否则用原字母后的第2个字母代替原字母,如原文"China",加密后的密文是"Gjkpc", 完善下列程序:m=space(0)c="China"for i=1 to 【 len(c)】nc=asc(substr(c,I,1))if nc>64 【 and】 nc<91 &&该字母的ASC值在64之91之间,表明该字母是大写 m=m+【chr(nc+4)/ chr(4+nc)】elsem=m+chr(nc+2)endifendf2、完善下列程序,其功能是显示如下所示的文字图形.金字字大大大宝宝宝宝塔塔塔塔塔【程序清单】CLEARc="金字大宝塔"n=LEN(c)/2FOR i=1 TO n?SPACE(70-i)FOR j=1 【TO i】?? SUBS(C,2*i-1,2)=INKEY(0.5)ENDFORENDFOR3、请写出x的值【 30】,y值是【 -2】X=26y=0if int(x/2)=x/2y=mod(x,3)x=x+4endifif int(x/3)=x/3y=Mod(x,-4)endif? x,y4、如果当前日期是2000年4月1日,并且命令 ?date()在屏幕上返回 04/01/00,则命令行 ?date()+10在屏幕上返回的值为【 04/11/00】5、已知N="1",M="2",X12="GOOD",则表达式X&N&M的值为【 GOOD】6、已知有三个文件分别程序文件、查询文件、表单文件,文件名都是a,请问运行程序文件的命令是【 do a】、运行查询文件的命令是【do a.qpr】、运行表单文件的命令是【 do form a】7、执行下列程序后,输出到屏幕的结果为【 3】。
全国VFP第五章视图精品PPT课件
▪ 第四步:排序:
▪ 第五步:分组
▪ 第六步:结果是否发送到另外一 个表中,参考发的白练习册29页 。
▪ 第七步:先运行再保存。运行就 是点!. 保存是点保存按钮→输入 视图名字。
1.视图是虚表,不保存数据,视图保 存在数据库中.查询保存在.qpr的查询 文件中.
2.视图可以更新数据,查询只能查询 ,不能更新数据.
use &&关闭当前工作区的表或视图
6.建立一个视图,必须在数据库被打 开的前提下.
7.视图的分类:本地视图,远程视图 ,带参数视图.
如果题目只给两个空,就填本地视图 ,远程视图,
若给三个空,三个都填 . 8:视图无查询去向,因此,把视图结
果导入一个表中,只能使用命令: Select * from 视图名 into
3.视图通过”更新条件”选项可来更新 数据,查询无”更新条件”.
ห้องสมุดไป่ตู้
4. 查询有“查询去向”,视图没有“ 查询去向”
5.create view…as select 建立视图 drop view 删除视图 打开、关闭视图(同表的命令):
USE 视图名 &打开一个视图 USE IN 视图名 &&关闭一 个不在当前工作区的视图
table 表名
学习总结
经常不断地学习,你就什么都知道。你知道得越多,你就越有力量 Study Constantly, And You Will Know Everything. The More
You Know, The More Powerful You Will Be
结束语
当你尽了自己的最大努力时,失败也是伟大的 ,所以不要放弃,坚持就是正确的。
第五章 查询和视图复习 要点
第五章VFP程序设计
(P1671/2) 5.1 程序设计基础(P167-170)(1/2)
5.1.1 程序文件的建立和执行 建立: 建立:modify command 文件名
5.3.2 自定义函数
1. 格式
[function 函数名 函数名] [parameters 参数表 语句序列 [return 表达式 表达式]] endfunc [function 函数名 参数表 函数名(参数表 参数表)] 语句序列 [return 表达式 表达式] endfunc
2. 调用 参数表] 函数名 [参数表 参数表 3. 数组参数的传递 发送数组参数: 发送数组参数: @数组名 数组名 接收数组参数: 接收数组参数: 数组名
if 条件 语句序列 endif
(P1702/3) 5.2 程序的控制结构(P170-177)(2/3)
5.2.3 循环结构 条件循环
p4-例7-4、 p5-例7-5 例 、 例 do while 逻辑表达式 语句序列 enddo
步长循环
p6-例7-6 例
for 内存变量 初值 to 终值 step 步长 内存变量=初值 语句序列 endfor | next scan [范围 [for 条件 [while 条件 范围] 条件1] 条件2] 范围 语句序列 endscan
5.5 结构化程序设计实例
关系R=xscjb1(xh,xm,sxcj,ywcj,yycj) 关系 根据学生成绩表xscjb1,编程显示成绩统计表 根据学生成绩表 ,编程显示成绩统计表:
姓名 张三 …… 李四 平均 数学 60.5 …… 75.0 xx.x 语文 70.5 …… 95.0 xx.x 外语 80.5 …… 55.0 xx.x 平均 70.5 …… 75.0 xx.x
vfp第五章
14.文件保护设置命令 格式: ON/OFF 格式:SET SAFETY ON/OFF 功能:确定是否对磁盘文件进行修改或损坏保护。 功能 在ON状态,用户对磁盘文件进行重写、覆盖或破坏操作以前,系 统给出警告信息:<文件名>已经存在,覆盖它吗(Y/N)? 15.联接打印机设置命令 格式:SET PRINT ON/OFF 功能:将所有除了用@…SAY命令以外的输出信息送往打印机(ON 状态)或屏幕(OFF状态)。 16.对话方式设置命令 格式: ON/OFF 格式:SET TALK ON/OFF 功能:决定系统执行命令时的回答是否显示出来。 功能
先后顺序都完全相同,才视为这两个字符串为相同,反之便认为 不相同。 11.功能键定义命令 格式: 数值表达式> 字符表达式> 格式:SET FUNCTION <数值表达式> TO <字符表达式> 功能:对功能键重新定义新的功能。每一个功能键可包含一个字 功能 符序列。 12.设置系统帮助命令 格式: ON/OFF 格式:SET HELP ON/OFF 功能:确定在语法出错时是否要显示“你需要一些帮助吗(Y/N)?” 功能 在OFF状态下,出错时仅显示出信息并终止命令执行。 13.确定反相显示命令 格式: ON/OFF 格式:SET INTENSITY ON/OFF 功能:确定进行全屏幕操作时是否采用反相显示。 功能
系统设置命令与优化VFP 第五章 系统设置命令与优化 系统设置命令与选项( 5.1 系统设置命令与选项(OPTION)对话框 )
运行环境配置文件( 5.2 运行环境配置文件(CONFIG.SYS和CONFIG.FPW) . 和 . ) 优化Visual FoxPro 5.3 优化
系统设置命令与选项( 5.1 系统设置命令与选项(OPTION)对话框 )
vfp第五章
假
if 逻辑表达式 <语句序列>
endif
【例5-5】在SCORES.DBF中查找某学生考试成 绩是否小于60,若小于60分,则将“及格否”字 段设置为.F.。
17
2011年秋
VFP程序设计
18
2011年秋
VFP程序设计
第五章 结构化程序设计
VFP的工作方式:交互操作和程序执行
界面操作和命令执行(一次 只能执行一条) • 基本概念 • 三种基本结构:顺序、选择(分支)和循环 • 多模块程序设计、自定义函数、过程与过程文件
1
2011年秋
VFP程序设计
一、基本概念
1、程序:具有特定功能的指令的集合,也称源程序。
• 项目管理器—代码—程序—运行 • 程序—运行 • 命令窗口中:do <文件名>
4
2011年秋
VFP程序设计
5、程序设计的基本过程:
利用计算机解决一个实际问题,主要分成后,需要调试程序和分析运行结果。
计算圆面积:
给出圆的半径:R=4 注意:求解的基本逻辑 与程序的通用性
• quit命令:退出vfp系统
7、打开/关闭对话功能语句 格式:SET TALK ON/OFF
功能: 执行程序时,SET TALK OFF命令将关闭对话 功能,系统不再回显结果;使用SET TALK ON命令打 开对话功能,程序执行每条命令时都回显运行结果。
16
2011年秋
VFP程序设计
三、选择结构(分支结构)
2、程序设计:为完成特定功能而编写程序的过程。
3、结构化程序设计思想: 自顶向下、逐步求精、模块化
vfp教程第五章
则应使用数据库表的记录触发器。触发器是在某
些事件发生时触发执行的一个表达式或一个过程。
这些事件包括插入记录、修改记录和删除记录。
5.3.2 修改数据库中的表
在数据库设计器中,用鼠 标右键单击要修改的表,出现 表的快捷菜单(如图),然后从 快捷菜单中选择“浏览”,即 进入表的浏览窗口,以后的操 作和对自由表的浏览操作相同。 从快捷菜单中选择“修改”, 即打开相应表的表设计器,在 表设计器上可以完成表结构的 修改、建立索引以及设置字段 属性和表的有效性规则。
自由表(即没有和任何数据库关联的.dbf文件)
数据库表(即与数据库关联的.dbf文件)
向数据库添加表的方法 : 1、命令方式
使用ADD TABLE (要加入到数据库中的表的名)。 例如,下面的代码打开testdata数据库,并向其中添加表 XSHGL。 OPEN DATABASE TESTDATA ADD TABLE XSHGL
5.2.2 数据库的修改 格式 :MODIFY DATABASE [〈数据库文件 名〉| ?][NOWAIT][NOEDIT] [NOWAIT]:只在程序中使用,在命令窗口下 无效。作用是在数据库设计打开后程序继续执行, 否则数据库设计器打开后,程序暂停,直到数据 库设计器关闭后程序才会继续执行。 5.2.3 数据库的删除 格式:DELETE DATABASE [〈数据库文件 名|?〉][DELETETABLES][RECYCLE] 功能:[RECYCLE]:将删除的数据库文件和
对路径和文件名称构成。前链保存在数据库文件(.dbc) 中。链接被破坏后,可重新链接,更新相对路径信息以反 映文件的新位置。
5.1.1 建立数据库文件 1. 命令操作方式 Create DataBase [〈数据库文件名〉|?]
Visual FoxPro VF 第5章 数据库及其操作(1)
例:16、在Visual FoxPro中,下面描述正确的 是______。(09-3) A、数据库表允许对字段设置默认值 B、自由表允许对字段设置默认值 C、自由表或数据库表都允许对字段设置默 认值 D、自由表或数据库表都不允许对字段设置 默认值
例:20、以下关于空值(NULL值)叙述正确 的是______。(09-3) A、空值等于空字符串 B、空值等同于数值0 C、空值表示字段或变量还没有确定的值 D、Visual FoxPro不支持空值
例:21、在Visual FoxPro中,有关参照完整性的删除规 则正确的描述是______。(09-3) A、如果删除规则选择的是"限制",则当用户删除父 表中的记录时,系统将自动删除子表中的所有相关记录 B、如果删除规则选择的是"级联",则当用户删除父 表中的记录时,系统将禁止删除与子表相关的父表中的 记录 C、如果删除规则选择的是"忽略",则当用户删除父 表中的记录时,系统不负责检查子表中是否有相关记录 D、上面三种说法都不对
例:11、不带条件的DELETE命令(非SQL命 令)将删除指定表的___当前___记录。(069) 试比较: 不带条件的DELETE命令(是SQL命令)将删 除指定表的__所有___记录。
例:22、在Visual FoxPro中以下叙述错误的 是______。(06-4) A、关系也被称作表 B、数据库文件不存储用户数据 C、表文件的扩展名是.dbf D、多个表存储在一个物理文件中
6、索引 主索引 在指定字段或表达式中不允许出现重复值的索引。建立主索引的字 段是主关键字,一个表只能有一个主关键字,即一个表只能创建一 个主索引。 注:只能为数据库中的每一个表建立一个主索引。 候选索引 候选索引象主索引一样要求字段值的唯一性并决定处理记录的顺序。 在数据库和自由表中可以建立多个候选索引。 惟一索引 索引项的唯一。 普通索引 普通索引可以决定记录的处理顺序,它不仅允许字段中出现重复值, 并且索引项中也允许出现重复值。在一个表中可以建立多个普通索 引。
VFP第五章
用select-sql命令实现单表查询
1.无条件查询 无条件查询 SELECT <字段名表 FROM <表名 字段名表> 表名> 字段名表 表名 SELECT后用“* SELECT后用“*”表示全部字段,还可以是标准统计 函数,如min 函数,如min ,max ,sum,avg,count等 ,sum,avg,count等 例1: Sele * from STUDENT Sele ‘学号’,‘姓名’,‘奖学金’ from STUDENT sele max(奖学金) as '最高奖学金‘ , min(奖学金) as '最 低奖学金', avg(奖学金) as '平均奖学金' from student 注意标题名称
建立表之间临时关系
Set relation to <关联字段表达式 into <子表 关联字段表达式> 子表> 关联字段表达式 子表
表间临时关系:指当一个表的记录指针移动时,另 表间临时关系 一个表中的记录作相应移动。前者的移动是主动的, 称为父表或主动表,后者是被动的,称为子表或被 动表。 说明:关联字段表达式通常由两表共有的字段构成, 说明: 关联字段表达式 同时又是子表的主控索引,这说明子表须建索引才 能建立临时关系。 SET RELATION TO则表示取消当前工作区与其他 则表示取消当前工作区与其他 工作区的关联
第五章: 第五章:查询与视图
5.1 查询与统计命令 5.2使用查询设计器建立查询 使用查询设计器建立查询 5.3 结构化查询语言 结构化查询语言SQL 5.4 视图
数据筛选命令
1.记录筛选命令: Set filter to <条件> 设置当前表中可以被访问的记录满足的条件。 几次筛选以后,仅最后一次起作用。 几次筛选以后,仅最后一次起作用。 取消记录筛选命令:set filter to 2.设置字段筛选命令: Set fields to <字段名表> | [all | like | except <字段名 通配式> ] 指定当前可以被访问的字段,
VF-第五章 程序设计
3 保存内存变量
命令格式
SAVE TO <内存变量文件名>/ <MEMO 备注字段名>[ALL LIKE/ EXCEPT <内存 变量名框架>]
功能:它将内存中的部分或全部内存变量以文件的形式存入磁
盘,文件名由<内存变量文件名>指定,文件扩展名的缺省值 为 .MEM。 参数描述:SAVE:命令动词,表示保存内存变量。 <内存变量文件名>:指定保存内存变量和数组的内存变量文件。 <MEMO备注字段名>:指定保存内存变量和数组的备注字段。 ALL LIKE<内存变量名框架>]:将符合<内存变量名框架>的那 些变量存入指定的文件。 ALL EXCEPT <内存变量名框架>]:将不符合<内存变量名框架 >的那些变量存入指定的文件。
23
5.3.2 VFP的交互式输入输出命令
程序的正确运行,必然需要操作人员与系统进行信息交流, 这里主要是与内存变量之间的数据交流。 1、交互式输入命令 (1)字符接收语句 格式:ACCEPT [<提示信息>] TO <内存变量名> 功能:将从键盘上接收的字符串数据存入指定的内存变量中。 参数描述: [<提示信息>]:指定提示信息字符串。 [<内存变量名>]:指定存储字符数据的内存变量或数组元素。如 果没有定义此内存变量,ACCEPT将自动创建。如果没有输入数据 就按Enter键,内存变量或数组元素则为空字符串。
在程序编辑窗口 中输入程序代码
用Ctrl+W存盘退 出编辑窗口,或单 击程序编辑窗口上 的【关闭】按钮, 在弹出的对话窗口 中确定存盘,生成 L501.prg文件。
VFP基础教程第五章创建查询和视图VFP教程
5.1 创建查询
1. 查询的概念
查询:就是向⼀个数据库发出检索信息的请求,从中提取符合特定条件的记录。
查询⽂件:
即保存实现查询的SELECT-SQL命令的⽂件。
查询⽂件保存时,系统⾃动给出扩展名 .qpr;查询被运⾏后,系统还会⽣成⼀个编译后的查询⽂件,扩展名为 .qpx。
查询结果:
通过运⾏查询⽂件得到的⼀个基于表和视图的动态的数据集合。
查询结果可以⽤不同的形式来保存。
查询中的数据是只读的。
查询的数据源:可以是⼀张或多张相关的⾃由表、数据库表、视图。
2. ⽤查询设计器创建查询
基本步骤:
打开查询设计器→添加创建查询所基于的数据表→定义输出内容→设置联接、筛选、排序、分组条件→选择查询结果的输出形式→保存查询⽂件→运⾏查询。
(1)打开查询设计器
⽅法1:
从⽂件菜单或⼯具栏上单击新建→查询→新建⽂件→进⼊查询设计器
⽅法2:
当所⽤到的数据表已在项⽬中时,从项⽬管理器窗⼝中单击数据→查询→新建→新建查询→进⼊查询设计器
⽅法3:从命令窗⼝中输⼊命令:
create query 查询⽂件名 & 创建新查询
modify query 查询⽂件名 & 修改已存在的查询。
VF 第5章
21
5.4.3循环结构
• • • • • • • • 1.DO WHILE — ENDDO 语句 语句格式: DO WHILE <条件> <命令序列> [LOOP] [EXIT] ENDDO 执行该语句时,先判断<条件>是否为真,如果是真则执行 DO WHILE与ENDDO间的循环体,当执行到ENDDO时, 再返回DO WHILE 重新判断循环条件是否为真,确定是 否再次执行循环体。若条件为假则结束循环语句执行 ENDDO后的语句。 22
第5章 结构化程序设计基础
1
主要内容
• • • • • 5.1程序设计的基本概念 5.2程序的建立与运行 5.3常用命令介绍 5.4程序的基本结构 5.5过程及过程文件
2
5.1 程序设计的基本概念
• 程序是计算机能够分析执行的指令集合。 这组指令被存放于称为程序文件或命令 文件的文本文件中。程序设计是根据解 决某一问题的步骤,按一定的逻辑关系, 将一系列的指令组合在一起。程序执行 的过程就是程序中所有指令执行的过程。 当运行程序时,系统会自动按一定次序 执行程序文件中的命令。
16
5.4.2选择结构
• • • • • • • • 2.双分支结构 语句格式: IF<条件> <语句序列1> ELSE <语句序列2> ENDIF 如果<条件>表达式的值是真(.T.)则执行<语句序 列1>,然后执行ENDIF后的语句;否则执行<语句 序列2>,然后执行ENDIF后的语句。
17
5.4.2选择结构
25
5.4.3循环结构
• • • • • • • 3.SCAN — ENDSCAN 语句 语句格式: SCAN[<范围>] [FOR <条件1>] [WHILE <条件2>] <循环体> [LOOP] [EXIT] ENDSCAN
程序设计基础(vfp)第五章程序设计基础1
如:
USE RSGZ.DBF brow SUM 实发工资,基本工资*12 TO SFGZ, NJBGZ AVERAGE 基本工资 TO JBGZ ?"实发工资=",SFGZ ?"基本工资*12=", NJBGZ ?"平均基本工资=", JBGZ USE
5.警告信息显示控制命令 [格式] SET SAFETY ON | OFF 说明:为了安全,在执行一些不能再恢复的操作前,系统 在屏幕上显示“警告信息”提示谨慎操作。如ZAP命令删除 记录,INDEX 命令是否覆盖文件等。设置OFF状态将不作提 示直接操作,默认为ON状态。 6.输出文本信息语句 [格式] TEXT <文本信息> ENDTEXT 说明:在光标当前位置显示文本信息,TEXT — ENDTEXT 成对出现,缺一不可。相当于多个?语句,但能控制输出文 本的位置。
SET TALK OFF CLEAR .T. INPUT "请输入第一个数据:" TO A a<b INPUT "请输入第二个数据:" TO B IF A<B &&满足条件两个数据发生交换,否则不执行条件语句 交换a,b的值 T=A A=B B=T ENDIF ?a,b ?A,B SET TALK ON RETURN
程序的运行
编译源程序
先在程序编辑窗口打开要编译的源程序。选择[程序]菜单 的[编译]命令,开始编译。如有错误,出现编译对话框并 指出错误类型。 编译后生成.FXP文件。 执行程序时,若有.FXP文件就立即执行;若没有.FXP文 件只有.PRG源程序,则解释执行.PRG源程序,并同时 编译为.FXP文件。
vfp第5章.ppt
编写SELECT-SQL语句
查询设计器中各选项的含义
4
5.1.2 创建查询
查询设计器窗口
查询名称
Page 103
常用工具栏
字段选项卡
联接 选项卡
筛选选项卡
排序依据
分组依据
杂项
5Leabharlann 5.1.2 创建查询建立单表查询
Page 104
【例5-1】查询学生表(xs.dbf) 中女生党员的学号、姓名、性别、 党员否和籍贯。
10
【5-2】例题分析
Page 108
(1)确定需要添加的表 (2)确定输出字段 (3)确定联接
(4)筛选:系院名称是计算机学院并且基本工资高于3000元, 即条件表达式为:xy.xymc=“计算机学院” AND js.jbgz>3000。
(5)排序:选择“排序依据”为基本工资和职称名称。 (6)输出去向:选择“表”。
27
5.1.2 创建查询
创建交叉表查询
以电子表格形式显示数据的查询
Page 116
28
5.1.2 创建查询
Page 116
创建交叉表查询
• 利用“交叉表向导”建立
–字段选取(只能在单独的表和视图中选取) –布局(拖进,拖出)
–Xh----- 行 –Kcdh ----列 –Cj -----数据
–加入总和信息 –完成
五
5、7、10、13
38
操作步骤
1. 新建视图
项目管理器方式
Page 118
2. 添加表或视图
3. 字段、联接与筛选的设置
4. 排序依据、分组依据、杂项等设置
* 5.更新条件
6.运行视图
33
5.2.2 本地视图的创建和使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
建立视图: 方法一:“文件”菜单“新建” 选择“视图”[新建文 常用工具栏[新建] 件] 方法二:命令 格式:CREATE VIEW 功能:打开视图设计器建立视图。 方法三:编辑SQL命令CREATE VIEW …… AS ……
视图设计器:
说明:1)视图保存在数据库中,没有文件扩展名。 2)视图没有查询去向的设置。
例1:根据订货管理数据库中的职工表和仓 库表建立查询文件:职工查询.qpr (1)要求查询职工的职工号、仓库号、城 市和工资。 (2)要求只查询在上海或北京的职工信息。
例2:修改查询文件“职工查询.qpr”: (1)增加查询所有职工的年工资 (2)查询年工资最高的三个职工 (3)将查询结果显示在屏幕上
2、建立连接 方法一:“文件”菜单“新建” 选择“连接”[新建文 常用工具栏[新建] 件] 方法二:命令 格式:CREATE CONNECTION 功能:打开连接设计器。
3、设计远程视图 建立远程视图与建立本地视图方法基本一致,只是在打开视 图设计器前需要先选择“连接”或“数据源”。
注:建立远程视图时,要符合远程数据库的语法。
查询去向默认为:浏览
运行查询: 1)查询设计器打开时: 快捷键:Ctrl+Q 常用工具栏[运行]按钮 “查询”菜单“运行查询” 2)查询设计器关闭时: 命令:DO 查询文件名 说明:文件名必须带扩展名qpr 查看SQL SELECT语句: 查询设计器工具栏[查看SQL窗口]按钮 “查询”菜单“查看SQL” 查询设计器的局限性:只能设计比较简单的查询,嵌套查询 不能利用查询设计器实现,编辑了嵌套查询命令的.qpr文 件也不能运行。
1、数值转换成字符串:STR(N1[,N2[,N3]]) 功能:将N1的值转换成字符串,转换时根据需要自动进行四 舍五入。N2为转换后的总长度,N3为转换时保留的小数位 数。 说明: 1)N2默认值为10,N3默认值为0,当N3为负值时,表示对 整数位进行四舍五入。 2)设L为N1的四舍五入后的总长度,K为N1的整数部分长度。 3)若N2>L,则字符串加前导空格以满足长度N2。 4)若N2<L ①N2>=K,则优选满足整数部分而自动 调整小数位数。 ② N2<K,则返回N2个“*”。 例:N=1234.567 ?STR(N),STR(N,11),STR(N,10,2),STR(N,6,4) ?STR(N,5,-1),STR(N,5),STR(N,3)
视图与数据更新:使用视图时会在两个工作区分别打开视图 和基本表,默认对视图的更新不反映在基本表中,若要 更新数据反映在基本表中则需选择“发送SQL更新”。 1)指定可更新的表:默认可更新全部表 2)指定可更新的字段:“钥பைடு நூலகம்”表示关键字,“铅笔”表 示更新,默认可更新所有非关键字。
3)检查更新合法性: 关键字段:当基本表中的关键字字段被改变时,更新失败。 关键字和可更新字段:当基本表中任何标记为可更新的字段 被改变时,更新失败。 关键字和已修改字段:当在视图中改变的任一字段值在基本 表中已被改变时,更新失败。 关键字和时间戳:当远程表上记录的时间戳在首次检索之后 被改变时,更新失败。
4)使用更新方式: SQL DELETE然后INSERT:先使用SQL DELETE命令删 除基本表中被更新的旧记录,再用SQL INSERT命令向 基本表中插入更新后的新记录。 SQL UPDATE:使用SQL UPDATE命令更新基本表。
使用视图: 1)视图允许以下操作: 在数据库中使用USE命令打开或关闭视图。 在“浏览”窗口中显示或修改视图中的记录。 使用SQL语句操作视图 在文本框、表格控件、表单或报表中使用视图作为数据源等。 2)使用视图: 视图一经建立就可以像基本表一样使用,适用于基本表的命 令大部分都可以用于视图,但不能使用修改表结构命令, 基于视图建立的索引所是临时的,视图一关闭,索引将自 动被删除。
第五章 查询与视图
5.1 查 询
查询的概念:查询是从指定的表或视图中提取满足条件的记 录,然后按照想得到的输出类型定向输出查询结果,诸 如浏览器、报表、表、标签等。 查询文件的扩展名为.qpr,这是一个文本文件,它的主体就 是预先定义好的一个SQL SELECT语句,另外还有和输 出定向有关的语句。查询文件可以反复使用。 建立查询: 方法一:“文件”菜单“新建” 选择“查询”[新建文 常用工具栏[新建] 件] 方法二:命令 格式:CREATE QUERY [查询文件名] 功能:打开查询设计器建立查询。
对应于JOIN ON短语, 用于编辑联 接条件
对应于 WHERE 短语,用 于指定查 询条件
对应于ORDER BY 短语,用 于指定排序的 字段和排序方 式
指定是否要 重复记录及 列在前面的 记录等
查询去向:为查询结果设计输出去向 方法:1)“查询”菜单“查询去向” 2)查询设计器工具栏[查询去向]按钮
教材:全国计算机等级考试二级教程 (高等教育出版社)
第五章 查询与视图
主要内容: 1. 查 询 2. 视 图 教学目的: 查询和视图有很多类似之处,创建视图 与创建查询也非常相似。视图兼有表和查询的特 点,查询可以根据表或视图定义,所以查询和视 图又有很多交叉的概念和作用。查询和视图都是 为快速、方便地使用数据库中的数据提供的一种 方法,本章介绍查询和视图的概念、建立和使用。
5、数据类型测试函数: VARTYPE(表达式[,逻辑表达式]) 功能:返回代表表达式类型的字母,函数值为字符型。 当表达式的值为NULL,逻辑表达式值为. T.,则返回原数据类 型,若逻辑表达式值为.F.或缺省,则返回X以表明表达式的 结果为NULL。 6、记录个数测试函数:RECCOUNT([工作区号|表别名]) 功能:返回当前(省略参数)或指定表文件中的记录个数。若 测试工作区没有表打开,则返回0。 说明:该函数忽略删除标记。 7、条件测试函数:IFF(逻辑表达式,表达式1,表达式2) 功能:若逻辑表达式值为.T.,则返回表达式1的值,否则返回表 达式2的值。表达式1和表达式2的类型可不同。 8、记录删除测试函数:DELETED([表的别名|工作区号]) 功能:测试当前表(省略参数)或指定表文件中的当前记录是 否有删除标记,若有则返回.T.,否则返回.F.。
例3:根据订货管理数据库中的职工表和仓 库表建立查询: (1)要求查询每个仓库的平均工资。 (2)查询去向为图形
第五章 查询与视图
5.2 视 图 视图:也称虚拟表,它兼有表和查询的特点,可以用来从表 中提取有用的信息;也可以用来更新表中的信息。 视图分为本地视图和远程视图。 本地视图:使用当前数据库中的表建立的视图。 远程视图:使用当前数据库之外的数据源建立的视图。 视图是根据表定义的,因此视图基于表,而视图可以使应用 更灵活,因此它又超越表。视图是数据库中的一个特有 功能,包含视图的数据库打开时,才能使用视图。
建立查询的步骤:打开要操作的数据库或数据表。 1、添加表或视图:该步骤对应SELECT语句中的FROM子句。 选择用于建立查询的表或视图:
单击要选择的表或视图,然 后单击[添加]按钮。
单击[其他]按钮可以添加自由 表。 添加结束后单击[关闭]按钮 注意:当一个查询是基于多个表时,这些表之间必须是有联 系的。查询设计器会自动根据联系提取联接条件,否则在 打开查询设计器前还会打开一个指定联系条件的对话框, 由用户来设计联接条件。
远程视图与连接: 建立远程视图前必须先建立连接远程数据库。 1、定义数据源和连接 数据源:一般是ODBC(开放数据库互连是一种连接数据库 的通用标准)数据源,可以定义远程数据库的数据源, 也可定义本地数据库的数据源。 连接:是VFP数据库中的一种对象,它是根据数据源创建并 保存在数据库中的一个命名连接,以便在创建远程视图 时按名称进行引用,还可通过设置命名连接的属性来优 化VFP与远程数据源的通信。当激活远程视图时,视图 连接将成为通向远程数据源的通道。
2、查询设计器查:
可以通过“查询”菜单或查询设计器工具栏重新指定设计查 询的表。
2、查询设计器查: 各选项卡对应于SELECT语句的各短语。 对应于SELECT短语,指定所要 查询的数据,单击[全部添加]选 择所有字段,也可逐个选择字段 对应于 [添加]到“选定字段”在“函数 GROUP BY 和表达式”编辑框中可以输入计 短语,用于 算表达式 分组
2、字符串转换成数值:VAL(字符表达式) 功能:将由数字符号(包括正、负号、小数点)组成的字符 型数据转换成数值型数据。遇非数字符号转换结束,前导 空格。若第一个字符即为非数字符号则返回0。 例:VAL(“-32”),VAL(“A234”),VAL(“456AA43”) VAL(“ -1.4”) 3、值域测试函数:BETWEEN(T,L,H) 功能:若L≤T≤H,则函数值为.T.,否则为.F.。 若L或H中有一个值为NULL,则函数值为NULL T、L、H可以是C、N、D、T、浮点型、I、双精度和Y 型的数据,但三个表达式的类型要一致。 4、空值测试函数:ISNULL(表达式) 功能:若表达式的值为NULL,则返回.T.,否则返回.F.。