B:在―浏览器‖窗口中显示或修改视图中的记录。 C:使用SQL语句对视图进行操作。
D:使用视图在文本框、表格控件、表单或报表中作为数据源等。 1 使用视图:
一个视图在使用时,将作为临时表在自己的工作区中打开,视图的基本表是由定义视图的SQL DELETE语句访问的,可以在“项目管理器中”使用视图,也可以通过命令来使用视图。
A:在项目管理器中使用视图:
打开项目管理器,选择一数据库,然后再选择视图名,单击―浏览‖ B:通过命令使用视图:
用命令来使用视图必须先打开数据库。
如:OPEN DATABASE 订单管理 打开订单管理数据库
USE DD_SS 根据DD表和SS表建立视图 BROWSE 浏览视图
MODIFY VIEW 修改当前视图 3、视图的删除:
视图由于是从表中派生出来的,所以不需要修改结构,但视图可以删除 其命令格式为:DROP VIEW VIEW_NAME;
例:删除视图B_W,其命令为:DROP VIEW B_W
注:视图一经建立就基本可以像表一样使用,适用于基本表的命令都可以用于视图。
在视图上可以建立索引,查该索引是临时的,视图一旦关闭,索引将自动删除,多工作区时也可以建立联系,但视图不可以用MODIFY STRUCTURE命令修改结构。因为视图不是独立存在的基本表,它是由基本表派生出来的,所以只能修改视图的定定义。
程序设计的基础
一、数据类型:每一个数据都有一定的类型,数据类型决定了数据的存储方式和运算方式,大多数程序设计允许使用常量、变量和数组来存储数据; 1、常量:
有6种类型:(数值型、货币型、字符型、日期型、日期时间型、逻辑型) 2 数值型(N):由数字0-9、小数点、正负号构成。如:12、0.1、-1.23;还可
以用科学记数法表示如:1.3E-12表示1.3*10-12
3 货币型(Y):在数值前导货币符号($),保留四位小数,能够自动四舍
五入如:$123.45678存储为$123.4568
4 字符型(C):习惯称为字符串,由中、英、数字等字符组成。表示方法用
单引号(‘ ‘)、双引号(‖ ‖)、方括号([])三种定界符将字符串括起来。定界符必须成对出现,如―AB是不合法的、‖计算机‖是合法的。当定界符作为字符串内容时外层定界符要加以区分如:[―我们‖]是合法的,‖‖我们‖‖是非法的。
5 日期型(D):分传统和严格日期格式两种;
传统日期格式默认为美国日期格式:”mm/dd/yy”(月/日/年),年份可以是2位数字,也可以是4位数字,如:{^10/08/01}、{10-08-01}、{10/08/2001} 严格式日期格式:{^年/月/日}
书写规则是用花括号”{}”作为定界符,第一个字符为脱字符”^”年份为四位、按年月日顺序书写不能颠倒如:{^2008/08/08} 影响日期格式命令:
1、设置日期显示分隔符:SET MARK TO [分隔符] 当SET MARK TO 后没指定任何分隔符时,恢复系统默认的分隔符斜杠(/)。 2、设置日期显示格式:SET DATE TO YMD|DMY|MDY YMD 设置为年月日格式; DMY:设置为日月年格式; MDY:设置为月日年格式;
3、设置显示年份位数(2位或4位):SET CENTYURY OFF|ON OFF为2位 ON为4位)
1 日期时间型(T):分传统和严格日期时间格式两种: 传统的日期时间格式:
严格日期时间格式:{^年/月/日),[小时:分:秒]} 书写规则与日期型相似
3 逻辑型(L):逻辑型数据用句点作为定界符,只有两个值逻辑真和逻辑
假。
逻辑真用:.T.,.Y.表示(大小写不区分) 逻辑假用:.F.,.N.表示(大小写不区分)
变量:
5 变量值是能够随时更改的,VF中变量分为字段变量和内存变量两大类; 6 内存变量又分:简单内存变量和数组(一维和二维数组)
一、字段变量:就是我们所说的表中的字段,因为字段的取值是可变的,所以表中的字段名又叫字段变量,其值是当前记录指针所指的值(类型包含:字符型、数值型、货币型、日期型、日期时间型、逻辑型、整型、通用型和备注型) 二、内存变量:是内存中的一个存储单元,变量的值就是存放在这个单元里的数据。(6种类型:字符型C、数值型N、货币型Y、日期型D、日期时间型T、逻辑型L)
注:VF中没有时间型数据类型。
如果内容变量与数据表中的字段变量同名,用户在引用内存变量时,要在其名字前加一个M. 或m->,用来强调这个变量是内存变量。 1、内存变量的赋值:
格式1:<内存变量>=<表达式>
格式2:STOR<表达式>TO<内存变量名> 功能说明:
A:等号一次只能给一个内存变量赋值。STORE命令可以 时给多个变量赋予相同的值,各个内存变量名之间应用逗号分隔开。
B:一个变量在使用之前并不需要特别声明。当用STORE命令给变量赋值时,如果该变量不存在,那么系统会自动建立它。
C:如果要改变内存变量的内容和类型可以通过对内存变量重新赋值来完成。 例:给内存变量赋值:
NJ=[大学] 给变量NJ赋字符值;
STORE ?1234567890‘ TO XH 给变量XH赋字符值;
STORE SQRT(3^2+4^2)TO na1,na2,na3 赋予相同的数值; 输出内容变量的值。
?4,5,6 显示3个常量值; ??4,5,6显示3个常量的值; 2、内存变量的显示: 格式1:LIST MEMORY [LIKE<通配符>]号[TO PRINTER | TO FILE<文件名>] 格式2:DISPLAY MEMORY [LIKE<通配符>][TO PRINTER | TO FILE<文件名>]
功能:显示内存变量的当前信息,包括变量名、作用域、取值和类型。 格式2和格式1的区别是:格式1不暂停,直到显示结束。 格式2分屏显示,每显示一屏暂停,等待用户按任意继续显示。 注:
A;通配符包括*和?。*表示多个字符;?表示一个字符。 B:内存变量名不能加定界符;
注:LIST MEMORY:一次显示与通配符的所有内存变量,如果内存变量多,一屏显示不下,则自动向上滚动。
DISPLAY MEMORY 分屏显示与通配符的所有内存变量,如果内存变量多,显示一屏后暂停,只要按任意键后就可以继续显示下一屏。
选用LIKE短语只显示与通配符相匹配的内存变量,能配符包括*和?
可选子句TO PRINTER或TO FILE<文件名>用于在显示的同时送往打印机,或者存入给定文件名的文本文件中,扩展名为.TXT。 例:STORE ―BOODBEY‖TO X1 STORE ―HELLO‖TO X2
DISPLAY MEMORY LIKE A*显示所有以―A‖开头的内存变量。 3、清除内存变量:
格式1:CLEAR MEMORT
格式2:RELEASE<内存变量名表> 格式3:RELEASE ALL [EXTENDED]
格式4:RELEASE ALL[LIKE<通配符>|EXCEPT<通配符>] 功能说明:格式1:清除所有内存变量; 格式2:清除指定的内存变量;
格式3:清除所有内存变量,在人机会话状态其作用与语法1相同,如果出现在程序中,则应加上短语EXTENDED,否则不能删除公共内存变量。 格式4:选用LIKE短语清除与通配符相匹配的内存变量,选用EXCEPT短语清除与通配符不相匹配的内存变量。 例:RELEASE X1,X2 释放内存变量X1,X2
RELEASE ALL LIKE A* 释放所有以变量A开头不的内存变量。
数组:是在内存中连续的一片存储区域,它由一系列元素组成,每元素相当于一个简单内存变量。 1、创建数组格式:
A:DIMNSION <数组名>(<下标上限1>[,<下标上限2>])[,??] B:DECLARE <数组名>(<下标上限1>[,<下标上限2>])[,??]
注:1、两种格式的功能等价,数组创建后,系统自动给每个数组元素赋予初值逻辑假.F.
2、各数组元素数据类型可以不相同
3、数组的下限规定为1,访问时不能超限 4、可以用一维数组形式去访问二维数组
5、在赋值和输入语句中使用数组名时,表示将同一值同时赋值给该数组的全部元素
6、定义(访问)数组时也可以用方括号,如DIME BY(3)等价于DIME MY(3)
7、在一切可以使用简单内存变量的地方都可以使用数组元素。
内存变量就像一个盒子,而变量的值就相当于放在盒子里边的物体。盒子是固定不变的,而放在盒子里的物体却能更换。即内存变量类型取决于变量值的类型,内存变量的(值和类型)随重新赋值改变而改变,以后一次赋值为准。 例如:DIMENSION A(4),B(2,3)命令定义两个数组。 一维数组A含4个元素:A(1),A(2),A(3),A(4)。
二维数组B含6个元素:B(1,1),B(1,2),B(1,3),B(2,1),B(2,2),B(2,3) 例数组的定义赋值:
DIMENSION A(2),B(2,2) 定义两个数组; A=100 将A数组所有元素赋值为100
B(1,1)=A(1) 引用A数组的元素给B数组元素赋值; STORE .T. TO B(1,1)给B数组的一个元素重复赋逻辑值; B(1,2)=?南京大学‘给B数组的一个元素赋字符值―南京大学‖ B(2,1)={^2006/11/16} 给B数组的一个元素赋日期值
B(2,2)={^2006/11/16 10:00:00 A}给B数组的一个元素赋严格的日期时间值
?A(1)+A(2),B(2,1) 系统主窗口显示:200 11/16/06 在使用数组和数组元素时,应注意以下问题:
??在一切??可以使用简单内存变量的地方,??均可以使用数组元素。 ??在赋值和输入语句中使用数组名??时,??表示将同??一个值同??时
赋给该数组的全部数组元素。 ??在同??一个运行环境下,??数组名??不??能与简单变量名?
?重复??
??在赋值语句中的表达式位置不??能出现数组名,??可以出具体的数组
元素名??。